Я перешел по этой ссылке https://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/, чтобы создать «PageViewController» с «PageControl» вместо добавления кнопки внизу элемента управления страницы.Я хочу добавить 2 кнопки слева и справа от элемента управления страницы.
Проблема Мне удалось добавить кнопку со следующим кодом, но ограничение вышло.Я хочу попробовать установить его на раскадровке, но не знаю, где мне это сделать.Пожалуйста помоги.
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
_pageTitles = @[@"", @"", @""];
_pageImages = @[@"4.png", @"5.png", @"4.png"];
// Create page view controller
self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageViewController"];
self.pageViewController.dataSource = self;
PageContentViewController *startingViewController = [self viewControllerAtIndex:0];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
// Change the size of page view controller
self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
btnLogin = [[UIButton alloc]initWithFrame:CGRectMake(0,self.view.frame.size.height-30, self.view.frame.size.width/4, 20)];
btnLogin.backgroundColor = [UIColor colorWithRed:19.0f/255.0f green:147/255.0f blue:182.0f/255.0f alpha:1.0];//%%% buttoncolors
[btnLogin setTitle:@"LOGIN" forState:UIControlStateNormal];
[btnLogin addTarget:self action:@selector(btnLoginClicked:) forControlEvents:UIControlEventTouchUpInside];
btnRegister = [[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width-((self.view.frame.size.width/4)),self.view.frame.size.height-30, self.view.frame.size.width/4, 20)];
btnRegister.backgroundColor = [UIColor colorWithRed:19.0f/255.0f green:147/255.0f blue:182.0f/255.0f alpha:1.0];//%%% buttoncolors
[btnRegister setTitle:@"REGISTER" forState:UIControlStateNormal];
[btnRegister addTarget:self action:@selector(btnRegisterClicked:) forControlEvents:UIControlEventTouchUpInside];
[self addChildViewController:_pageViewController];
[self.view addSubview:_pageViewController.view];
[self.view addSubview:btnLogin];
[self.view addSubview:btnRegister];
[self.pageViewController didMoveToParentViewController:self];
}
Iphone Six в порядке
Iphone XSMax вне ограничений
StoryBoard
Попробуйте следующее решение от OnkarK
UIWindow *window = UIApplication.sharedApplication.keyWindow;
CGFloat bottomPadding = window.safeAreaInsets.bottom;
// Change the size of page view controller
self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
btnLogin = [[UIButton alloc]initWithFrame:CGRectMake(0,self.view.frame.size.height-30-bottomPadding, self.view.frame.size.width/4, 20)];
** Я получил следующее, но как избавиться от пробела **
Спасибо @phani, этона самом деле проблема с ограничениями, всегда должна быть ограничена SuperView, надеюсь, кто-то в будущем поможет