设置UISwitch我从标准模板的iPhone实用的应用程序,所以我有MainViewController
和FlipsideViewController
是被初始化,并呼吁controller.
在controller's
厦门国际银行我有一个UISwitch
称为pathSwitch
和一个名为locationSelector
是出口UISegmentedControl
(和迷上了)当我喊了showInfo:(id)sender
方法,我做到以下几点:!麻烦FlipsideViewController
[编辑]添加controller...
[编辑2]新界面,显示的界面添加的属性
- (IBAction)showInfo:(id)sender {
ALog(@"method begin...");
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
DLog(@">sun path visible = %@, setting flip side controller switch", sunPathIsVisible ? @"YES" : @"NO");
// deleted -> [controller.pathSwitch setOn:sunPathIsVisible];
controller.sunPathIsVisible = sunPathIsVisible; // added this
DLog(@">location mode is %d, setting flip side controller segment index to %d - 1 = %d", locationMode, locationMode, locationMode - 1);
// deleted -> controller.locationSelector.selectedSegmentIndex = locationMode - 1;
controller.delegate = self;
controller.locationMode = locationMode; // added this
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
@interface FlipsideViewController : UIViewController {
id <FlipsideViewControllerDelegate> delegate;
int locationMode; // added this
UISegmentedControl *locationSelector;
BOOL sunPathIsVisible;
UISwitch *pathSwitch;
}
@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;
@property int locationMode; // added this
@property (nonatomic, retain) IBOutlet UISegmentedControl *locationSelector;
@property BOOL sunPathIsVisible; // added this
@property (nonatomic, retain) IBOutlet UISwitch *pathSwitch;;
- (IBAction)done:(id)sender;
- (IBAction)cancel:(id)sender;
@end
// There's also the `protocol` stuff, but I left that out here...
的问题是,该控件不接受他们的价值观和始终显示段0和OFF。如果我在controller's
viewWillAppear
方法中设置它们的属性,它们确实显示正确的设置。
是controller
没有完全加载,当我这样做或什么?
感谢 - 不知道你的意思,但...我宣布'UISwitch'和'UISegmentedControl'作为属性(和IBOutlets)。我将添加'controller'的界面... – Steve 2011-03-17 04:00:54
@Steve看到我更新的答案。 – mvds 2011-03-17 09:37:58
第一种方法奏效 - 谢谢。我仍然不明白为什么,如果我已经完成了切换和分段控制属性,一旦视图控制器被实例化后,我就不能直接设置它们。看起来像一个令人费解的做事方式。我更喜欢第二种方法,但得到了很多有关'-locationMode getter没有在委托中定义的错误或者其他一些错误(不能准确记得) –
Steve
2011-03-17 15:49:49