我是iPhone / iPad编程的新手。我的问题是,如何向两个或多个视图(或xib文件)添加公共视图。比方说,例如,我计划添加一个公共菜单,以显示在不同的xib上。目前我添加相同的元素(按钮)到所有的xibs。有什么方便吗?
答案 0 :(得分:0)
在MainWindow.xib
文件中查看您的公共视图,并在AppDelegate文件中获取其IBOutlet
和属性。
正确连接你的IBOutlet
以及何时在其他视图控制器中使用它你应该创建你的appDelegate实例,然后将你的公共视图添加到你的viewcontroller并设置它的框架。
例如......
[appDelegate.indicatorView setFrame:CGRectMake(107, 213, 106, 81)];
[self.view addSubview:appDelegate.indicatorView];
appDelegate
是您的实例对象,通过创建您的视图属性,您可以访问它。
indicatorView是MainWindow.xib
文件中的常见视图..
答案 1 :(得分:0)
为什么你没有使用标签栏控制器?
用户标签栏控制器和隐藏标签栏并添加自定义菜单项(按钮)。请参阅下面的代码并尝试使用。
- (void) hideTabBar
{
for(UIView *view in tabController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
view.hidden = YES;
break;
}
}
}
- (void) addCustomTabs
{
totalTabs = 5;
CGRect rect = CGRectMake(0.0, 0.0, 64.0, 49.0);
tabScroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 460.0-rect.size.height, 320.0, rect.size.height)];
tabScroller.backgroundColor = [UIColor clearColor];
tabScroller.showsHorizontalScrollIndicator = NO;
[tabController.view addSubview:tabScroller];
float x = 0.0;
for (int i = 0; i < totalTabs; i++) {
customTabs[i] = [UIButton buttonWithType:UIButtonTypeRoundedRect];
customTabs[i].frame = CGRectMake(x, 0.0, rect.size.width, rect.size.height);
customTabs[i].tag = i;
[customTabs[i] addTarget:self action:@selector(selectTab:) forControlEvents:UIControlEventTouchUpInside];
[customTabs[i] setTitle:[NSString stringWithFormat:@"%d",i+1] forState:UIControlStateNormal];
[tabScroller addSubview:customTabs[i]];
x += rect.size.width;
}
tabScroller.contentSize = CGSizeMake(x, rect.size.height);
}
- (void) selectTab:(id)sender
{
int tabID = [sender tag];
for (int i = 0; i < totalTabs; i++) {
customTabs[i].selected = NO;
}
customTabs[tabID].selected = YES;
tabController.selectedIndex = tabID;
}