Files
PojavLauncher_iOS/Natives/LauncherFAQViewController.m
T
Duy Tran Khanh d8459effc0 WIP: New User interface
UISplitViewController is being used to create split menu.
Currently, autolayout is not yet done.
Added account switcher to the split view.

Fixes:
- auth_session parameter for legacy Minecraft versions
- Updating self.view background color is now automated by
UIColor.systemBackgroundColor
2022-07-22 08:02:40 +07:00

65 lines
3.7 KiB
Objective-C

#import "LauncherFAQViewController.h"
#include "utils.h"
@interface LauncherFAQViewController () {
}
-(UILabel *)faqContent:(bool)isHeading text:(NSString *)text width:(int)width;
@end
@implementation LauncherFAQViewController
CGFloat faqcurrY = 4.0;
- (void)viewDidLoad
{
[super viewDidLoad];
setViewBackgroundColor(self.view);
[self setTitle:@"Launcher FAQ"];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGFloat screenScale = [[UIScreen mainScreen] scale];
int width = (int) roundf(screenBounds.size.width);
int height = (int) roundf(screenBounds.size.height) - self.navigationController.navigationBar.frame.size.height;
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
[self.view addSubview:scrollView];
scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
NSString *snapheadingtext = @"Vanilla versions after 21w08b";
faqcurrY = 4.0;
[scrollView addSubview:[self faqContent:true text:@"Notice about older devices" width:width]];
[scrollView addSubview:[self faqContent:false text:@"If you're using a device with less than 2GB of memory, you may not be able to play PojavLauncher with a good experience, if at all." width:width]];
[scrollView addSubview:[self faqContent:true text:@"Modded versions before 1.16" width:width]];
[scrollView addSubview:[self faqContent:false text:@"In order to use these versions, you need to install openjdk-8-jre from Doregon's Repo and change Java home in Preferences to 'Java 8'." width:width]];
[scrollView addSubview:[self faqContent:true text:@"Vanilla versions after 21w10b" width:width]];
[scrollView addSubview:[self faqContent:false text:@"In order to use these versions, you need to install openjdk-16-jre and change the Renderer in Preferences to tinygl4angle." width:width]];
[scrollView addSubview:[self faqContent:true text:@"Vanilla versions after 21w37a" width:width]];
[scrollView addSubview:[self faqContent:false text:@"In order to use these versions, you need to install openjdk-17-jre and change the Renderer in Preferences to tinygl4angle. If you are using unc0ver/checkra1n, switch to or wait for a Procursus jailbreak." width:width]];
[scrollView addSubview:[self faqContent:true text:@"Sodium versions for 1.17 and higher" width:width]];
[scrollView addSubview:[self faqContent:false text:@"Sodium is currently broken with 1.17 and higher, due to the workaround required to get these versions to launch." width:width]];
[scrollView addSubview:[self faqContent:true text:@"Jetsam crashing" width:width]];
[scrollView addSubview:[self faqContent:false text:@"Even though PojavLauncher only allocates 1/4 of the system's total memory, jetsam can still kill the game. A solution is described on the PojavLauncher website (iOS Wiki > Going further > overb0arding)" width:width]];
[scrollView addSubview:[self faqContent:true text:@"Cosmetica capes" width:width]];
[scrollView addSubview:[self faqContent:false text:@"To get started with Cosmetica capes, install OptiFine or the Cosmetica Mod, and visit login.cosmetica.cc to link with your Minecraft account." width:width]];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, faqcurrY);
}
-(UILabel *)faqContent:(bool)isHeading text:(NSString *)text width:(int)width {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4.0, faqcurrY, width - 40, 30.0)];
label.text = text;
label.lineBreakMode = NSLineBreakByWordWrapping;
label.numberOfLines = 0;
if(isHeading) {
[label setFont:[UIFont boldSystemFontOfSize:20]];
} else {
[label sizeToFit];
}
faqcurrY+=label.frame.size.height;
return label;
}
@end