我正在以编程方式创建UIToolbar
,但问题是此工具栏的位置已启动(导航栏位置)。如何将其自动放在底部?
这是我的代码:
CGRect rect2 = CGRectMake(0, toolBar.frame.origin.y , self.view.frame.size.width , 0);
toolBar = [[UIToolbar alloc]initWithFrame:rect2];
toolBar.barStyle = UIBarStyleBlackTranslucent;
[toolBar sizeToFit];
[self.view addSubview:toolBar];
[toolBar release];
因为我的应用程序是通用的,我的视图控制器类没有任何nib文件,我需要为iPad和iPhone定义它,我不想使用UIUserInterfaceIdiomPad
。
答案 0 :(得分:11)
您将rect2
的{{1}}位置设置为y
的值,该值位于代码中的[toolbar frame].origin.y
或指向其他位置工具栏的实例,因为您之后会立即nil
和alloc
一个新的工具栏。
即使工具栏在设置框架时有效,也不能将其当前的init
值用作新的y
值,因为它将是y
。
您应该相对于屏幕底部定位,减去工具栏的高度。试试这个:
0
答案 1 :(得分:9)
这会创建一个底部对齐的工具栏
CGRect frame, remain;
CGRectDivide(self.view.bounds, &frame, &remain, 44, CGRectMaxYEdge);
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:frame];
[toolbar setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin];
[self.view addSubview:toolbar];
答案 2 :(得分:0)
CGRect rect2 = CGRectMake(0, toolBar.frame.origin.y , self.view.frame.size.width , 0);
[toolbar setFrame:rect2];
尝试这个我希望它可以帮到你