Ios 如何使用情节提要将UISegmentedControl添加到UIToolbar? 我试图将分段控件添加到下面的UIToolbar中,但当我尝试在情节提要中将其拖动过来时,它将替换我的表视图 此外,当我尝试将UIBarButton添加到工具栏时,它会向下推我的原型单元格。。。我的观点有错吗 无论如何,当我添加UIBarButton项时,在模拟器中,工具栏并不像我在导航控制检查器中设置的那样是黑色透明的。怎么了

Ios 如何使用情节提要将UISegmentedControl添加到UIToolbar? 我试图将分段控件添加到下面的UIToolbar中,但当我尝试在情节提要中将其拖动过来时,它将替换我的表视图 此外,当我尝试将UIBarButton添加到工具栏时,它会向下推我的原型单元格。。。我的观点有错吗 无论如何,当我添加UIBarButton项时,在模拟器中,工具栏并不像我在导航控制检查器中设置的那样是黑色透明的。怎么了,ios,storyboard,uitoolbar,uisegmentedcontrol,Ios,Storyboard,Uitoolbar,Uisegmentedcontrol,谢谢 我想这里的某个地方有一个导航视图控制器。他们有自己的工具栏,但它是隐藏和空的。您看到的工具栏只是一个模拟工具栏,用于编辑UI 因此,要在情节提要中实现这一点,不要将分段控件添加到模拟工具栏中,创建一个新工具栏并将其添加到控制器中可用的视图树中(作为表视图的同级),然后创建一个IBOutlet来引用它。然后在viewDidLoad方法中,将工具栏中的项目指定给视图控制器已创建的工具栏 在本例中,我在视图控制器上创建了一个名为(cunningly)toolbar的属性: 在我的视图控制器的实

谢谢


我想这里的某个地方有一个导航视图控制器。他们有自己的工具栏,但它是隐藏和空的。您看到的工具栏只是一个模拟工具栏,用于编辑UI

因此,要在情节提要中实现这一点,不要将分段控件添加到模拟工具栏中,创建一个新工具栏并将其添加到控制器中可用的视图树中(作为表视图的同级),然后创建一个IBOutlet来引用它。然后在viewDidLoad方法中,将工具栏中的项目指定给视图控制器已创建的工具栏

在本例中,我在视图控制器上创建了一个名为(cunningly)toolbar的属性:

在我的视图控制器的实现中,我手动分配工具栏项:

-(void)viewDidAppear:(BOOL)animated 
{
    [self setToolbarItems:self.toolbar.items animated:NO];
    [self.navigationController setToolbarHidden:NO animated:YES];
}
弹出视图控制器时,您需要隐藏工具栏,例如在调用视图控制器中:

-(void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:YES animated:YES];
}

当然,假设您想隐藏它。

1-以编程方式进行。首先需要为UIToolbar指定一个框架,然后可以在其中添加元素(segmentedControl)。不过我建议使用基本相同的
uibarbuttonims

要将其粘到底部,请尝试以下方法:

#define SCREEN_FRAME [[UIScreen mainScreen] applicationFrame]

CGRect frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - 44, [[UIScreen mainScreen] bounds].size.width, 44);
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:frame];
toolBar.frame = CGRectMake(0,self.view.frame.size.height-toolBar.frame.size.height,SCREEN_FRAME.size.width,toolBar.frame.size.height);

//Setting up the items

UIBarButtonItem *first = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"image.png"] style:UIBarButtonItemStylePlain target:self action:@selector(yourAction:)] autorelease]; 
UIBarButtonItem *second = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"image.png"] style:UIBarButtonItemStylePlain target:self action:@selector(yourAction:)] autorelease]; 

//Creating an array with the items
NSArray *items = [NSArray arrayWithObjects:first,second, nil];

//Assigning the array to the toolBar
[toolBar setItems: items];
然后可以使用

mytoolbar.barStyle = UIBarStyleBlack;
2-与上述相同,框架

3-您需要将navigationController样式设置为黑色。
使用self.navigationController.navigationBar.style=UIBarStyleBlack,或者在IB中选择按钮,并从Inspector中设置色调或样式,以满足您的需要

同时选中问题

要使用Interface builder在工具栏中创建分段控件元素,可以使用以下提示

1) 在导航控制器中创建分段控制栏按钮项:

-(void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:YES animated:YES];
}

2) 将工具栏按钮项拖动到导航项

3) 然后您应该得到以下结构

4) 现在可以选择分段控件来设置其属性


我通过将UISegmentedController放置在一个条形按钮项中来实现这一点

将工具栏添加到UINavigationController窗口,然后在ViewController屏幕上启用此工具栏的显示

将条形按钮拖动到ViewController屏幕上的工具栏中,然后将UISegmentedController拖动到该工具栏中(将按钮的大小调整到屏幕的全宽)

要将其连接起来,请按ctrl键从UISegmentedController拖动到相应的.h文件,从“引用出口”拖动到黄色视图控制器图标(使用相同的变量名),然后从“ValueChanged”拖动到黄色图标(选择控制器上要在新选择时调用的方法)


这一切似乎都如预期的那样起作用。(如果您无法在控制器上选择一个段来设置初始值,则说明您没有按上述方式连接参考插座。这让我有一段时间感到困惑。)

没有正确阅读问题,抱歉。更新了我的答案,希望有帮助。取消删除并编辑了此答案,我认为它仍然是相关的。当我把它作为兄弟姐妹添加时,它实际上既不会显示在情节提要中,也不会显示在模拟器中。。它被表视图隐藏了吗?是的,它在任何地方都不显示。但是您仍然可以引用IBOutlet——这只是一种方便,因此您不必在代码中创建项和数组。然后,如果您使用我提供的代码,这些项目将显示在控制器的默认工具栏中。如何使其始终保持在屏幕底部?现在它像桌子一样滚动,它还没有粘到底吗?我将工具栏添加到视图中,如下所示:[self.view addSubview:toolbar];您正在使用UITableView吗?如果是,则
[self.tableView addSubview:toolbar]尝试过,但仍然不起作用。。是的,使用表视图。我认为在情节串连板中拖动电视控制器会自动创建一台电视。是的,确实如此,试着为它设置一个插座<代码>IBUITableView*tableView