Tag: uisegmentedcontrol

iphone ios7分段UISegmentedControl只更改边框颜色

四处张望,试图改变只是边界颜色(用不同的文字颜色),没有运气。 可以改变色调,但改变文字和边框。

embedded到UINavigationBar / Item中的UISegmentedControl

我想在我的UINavigationController的顶UISegmentedControl某处embedded一个UISegmentedControl 。 将它embedded到UIBarButtonItem并将其设置为左或右barButtonItem是没有问题的。 在处理iPhone的屏幕空间时,我可以理解这种方法。 不过,我在iPad上的Popover中做这个,在顶栏中有很多垂直空间可用。 如果我添加segmentedControl作为一个左或右barButtonItem它缩小,以便我看不到我的段button上的文本,它将成为一个“完成”button的宽度等。如果我尝试将其添加到navigationItem TitleView它会一直显示在右边,并且比我的3段控件还显示更多的文字可以显示。 我将如何去添加一个UISegmentedControl到包装我的popup内容的UINavigationController的中心。 希望有人能帮助我:)提前致谢。

根据每个片段中的标题更改分段控件的宽度?

像这样开始,我喜欢: 但是,然后我添加一个段,发生这种情况: 宽度在IB中设置,不在代码中。 我需要的只是一个计算宽度的方法。 最后,它会做这样的事情: control.width = (labelWidths + marginWidths); // where marginWidths = (marginWidth * control.numberOfSegments)

带图像和标题的UISegmentedControl

我正在使用一个UIToolBar内的UISegmentedControl作为button。 我不能使用正常的UIButtonBarItem ,因为我需要设置tintColor并支持iOS 4.3。 所以我使用下面的代码: UISegmentedControl* searchButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"", nil]]; [searchButton setImage:[UIImage imageNamed:@"search_picto"] forSegmentAtIndex:0]; searchButton.momentary = YES; searchButton.segmentedControlStyle = UISegmentedControlStyleBar; searchButton.tintColor = [UIColor colorWithRed:0.27 green:0.60 blue:0.20 alpha:1.00]; [searchButton addTarget:self action:@selector(actionSearch:) forControlEvents:UIControlEventValueChanged]; 这很好,但有没有一种方法可以在我的图像旁边显示文本/标题? 方法setTitle:删除图像。 必须有另一种方式 谢谢你的帮助。 – 编辑:我决定直接添加文本到UIImageView像这样: NSString* label = @"My Label"; UIImage* image = [self addText:label toImage:[UIImage imageNamed:@"icon"]]; [_segmentedControl insertSegmentWithImage:image atIndex:0 […]

工具栏的键盘inputAccessoryView“上一页”和“下一页”

我一直试图实现这个工具栏,其中只有“下一步”button被启用,当顶部textField是firstResponder,并且当底部textField是firstResponder时只有'Previous'button被启用。 这种工作方式,但发生的事情是我需要每次点击两次“上一页”/“下一页”button来启用/禁用反向button。 我是否在响应者链中错过了一些正在发生的事情? 这是我的代码: – (void)viewDidLoad { [super viewDidLoad]; [self.topText becomeFirstResponder]; } – (UIToolbar *)keyboardToolBar { UIToolbar *toolbar = [[UIToolbar alloc] init]; [toolbar setBarStyle:UIBarStyleBlackTranslucent]; [toolbar sizeToFit]; UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:@[@"Previous", @"Next"]]; [segControl setSegmentedControlStyle:UISegmentedControlStyleBar]; segControl.momentary = YES; segControl.highlighted = YES; [segControl addTarget:self action:@selector(changeRow:) forControlEvents:(UIControlEventValueChanged)]; [segControl setEnabled:NO forSegmentAtIndex:0]; UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithCustomView:segControl]; NSArray […]

更改SegmentedControl上的NSFetchedResultsController更改

我有一个使用核心数据NSFetchedResultsController填充的UITableView 。 我现在已经添加了一个UISegmentedControl到视图,当你改变当前的段,我希望tableview的内容改变。 我已经在网上阅读,使用两个不同的NSFetchedResultsControllers是明智的,因为我可以从内置caching中受益。 唯一的问题是我似乎无法find任何示例代码做这个,不知道从哪里开始。 任何人都可以解释从哪里开始创build第二个NSFetchedResultsController并更改基于分段控件的tableview的来源? 查看标题代码: #import <CoreData/CoreData.h> @interface DomainViewController : UIViewController <NSFetchedResultsControllerDelegate, UITableViewDataSource, UITableViewDelegate> { UITableView *domainView; UISegmentedControl *segmentedControl; NSString *domain; } @property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController; @property (nonatomic, retain) NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain) NSString *domain; @property (nonatomic, retain) IBOutlet UITableView *domainView; @property (nonatomic, retain) IBOutlet UISegmentedControl *segmentedControl; – (IBAction)segmentedControlIndexChanged; 查看执行代码: @interface […]

UISegmentedControl中的两行文本

尝试我可能,我无法解决iOS7 iPhone应用程序的UISegmentedControl错误。 当我创build分段控件时,我使用下面的代码: NSArray *segmentedControlItemArray = [NSArray arrayWithObjects: @"Nominal:\n27 inch", @"Actual:\n700c x 23mm", @"Actual:\n700c x 20mm", nil]; _wheelDiameterSegmentedControl = [[UISegmentedControl alloc] initWithItems:segmentedControlItemArray]; _wheelDiameterSegmentedControl.frame = CGRectMake(0, 102, 290, 50); _wheelDiameterSegmentedControl.selectedSegmentIndex = 0; _wheelDiameterSegmentedControl.tintColor = [UIColor colorWithRed:0.35 green:0.4 blue:0.9 alpha:1.0]; for (id segment in [_wheelDiameterSegmentedControl subviews]) { for (id label in [segment subviews]) { if ([label isKindOfClass:[UILabel […]

在iOS 7中使用iOS 6风格分段控制?

是否有可能在iOS 7设备上显示分段控件作为控件的iOS 6版本? 我们实际上还没有准备好重新devise界面,新的平面控件不会与我们的其他用户界面进行交互。 如果可能的话,现在最好保持iOS 6的风格。 为了澄清,我正在编译使用iOS 6.1的基本SDK。 我知道这是我的问题的“显而易见”的答案,但它不起作用。 大多数其他UI元素将通过这样做来显示iOS 6样式,但是像UIAlertView和UIActionSheet , UISegmentedControl不会。 但是,与UIAlertView和UIActionSheet , UISegmentedControls不像“系统”项目; 他们应该能够以iOS 6模式显示。 编辑:我认为这将是有益的,如果我最终包括一个这样的图片(可能应该从一开始就这样做)。 但是,我提供的答案确实解决了这个问题。 此外,回想起来,它看起来像是iOS 6的风格毕竟,它只是显示如此错误,它看起来像iOS 7风格。

在iOS 5中自定义UISegmentedControl

这是我的问题。 我通过以下方式设置背景和分隔图像来自定义UISegmentedControl: [[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UISegmentedControl appearance] setDividerImage:segUnselectedSelected forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; [[UISegmentedControl appearance] setBackgroundImage:segmentUnselected forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UISegmentedControl appearance] setBackgroundImage:segmentSelected forState:UIControlStateSelected barMetrics:UIBarMetricsDefault]; 当我尝试在viewDidLoadselect第一个分段 self.segmentedControl.selectedIndex = 1; 我得到以下奇怪的事情: 代替: 有谁知道这是否是一个错误,我怎么能提供一个错误报告? 如果不是,我的代码有什么问题?

自定义左右UISegmentedControlbutton

我试图自定义下面的分段控制,使用第一个button的左图像和第二个button的右图像。 我将如何使用UIAppearance来做到这一点? 我想改变下面的segmentedControl: 到类似如下的东西: 我想使用自定义图像的原因是我可以改变button的angular落。 如果你看看蓝色的分段控制,它更平方(我的图像有它自己的angular落)。 我正在想这样的事情,但没有用。 UIImage *leftImage = [[UIImage imageNamed:@"leftControl.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)]; UIImage *rightImage = [[UIImage imageNamed:@"rightControl.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)]; [[UISegmentedControl appearance] setBackgroundImage:leftImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault ]; [[UISegmentedControl appearance] setBackgroundImage:rightImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];