所以我在尝试使用分段控件时遇到了一个奇怪的问题。本质上,我有一个首选项面板,当按下按钮时,它会通过弹出窗口显示。
问题:我正在尝试保存状态,因此当加载 View 时,分段控件应保存它的选定项。这是我目前所做的...
-(void)viewWillAppear:(BOOL)animated {
if(!self.mainViewController.isThreaded){
self.threadedView.selectedSegmentIndex == 0;
//[self.threadedView setSelectedSegmentIndex:0];
//I can't do this because if I do it, it rexecutes the changeSegment method,
// which I do not want
}
if(self.mainViewController.isThreaded){
self.threadedView.selectedSegmentIndex == 1;
//[self.threadedView setSelectedSegmentIndex:1];
}
//threadedView.momentary = NO;
}
-(void)changeSegment {
if(self.threadedView.selectedSegmentIndex == 0){
self.mainViewController.isThreaded = NO;
[self.threadedView setSelectedSegmentIndex:0];
}
if(self.threadedView.selectedSegmentIndex == 1){
self.mainViewController.isThreaded = YES;
[self.threadedView setSelectedSegmentIndex:1];
}
}
现在的问题是,当弹出窗口出现时,它不会将状态加载到分段控件中,据我所知应该如此。谁能指出我可能做错了什么?谢谢
最佳答案
在 viewWillAppear 中,如果你想设置它们而不是测试它们应该是:
self.threadedView.selectedSegmentIndex = 0/1;
不是
self.threadedView.selectedSegmentIndex == 0/1;
,除非我遗漏了什么。
关于iphone - iOS分段控制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4349228/