【问题标题】:Passing UISegmentedControl values between controllers…在控制器之间传递 UISegmentedControl 值……
【发布时间】:2012-11-09 08:05:41
【问题描述】:

我想将值从一个视图控制器中的分段控制器传递到另一个视图控制器。我发现了另一个关于这个的问题,但我不明白如何实际实现委托方法。 (原问题:Passing UISegmentedControl values from FlipSideViewController in an Utility application to the mainviewcontroller…

FlipsideViewController.h

@protocol FlipsideViewControllerDelegate;
-(void)flipsideViewControllerSelectionChangedToIndex:(int)index;

@interface FlipsideViewController : UIViewController {
            id <FlipsideViewControllerDelegate> delegate;

        IBOutlet UISegmentedControl *mapType_;

    }
    @property (nonatomic, retain) UISegmentedControl *mapType_;

    @end

MainViewController.h

@interface MainViewController : UIViewController <XXXX> {
}

@property (nonatomic, retain) UISegmentedControl *mapType;

@end

MainViewController.m

-(void)flipsideViewControllerSelectionChangedToIndex:(int)index {
    if (index == 0) mapView.mapType = MKMapTypeStandard;
    if (index == 1) mapView.mapType = MKMapTypeSatellite;
    if (index == 2) mapView.mapType = MKMapTypeHybrid;
  }

如何调用MainViewController中的方法???

  -(void)flipsideViewControllerSelectionChangedToIndex:(int)index {

非常感谢您的任何回答。 提前致谢。

【问题讨论】:

    标签: iphone ios methods delegates uisegmentedcontrol


    【解决方案1】:

    您的实用程序视图控制器需要一个指向委托的指针 所以

    @property(weak) id< FlipsideViewControllerDelegate> delegate;
    

    然后在视图更改并调用委托时,您的实用程序视图控制器中有一个 IBAction

    - (IBAction)segmentedControlClicked:(id)sender {
        [self.delegate flipsideViewControllerSelectionChangedToIndex:[sender selectedSegment]];
    }
    

    【讨论】:

    • 我试过了。应用程序崩溃。 -[FlipsideViewController valueChangedMap]:无法识别的选择器发送到实例 0x1cd43790 2012-11-09 02:35:19.874.... 还有其他想法吗?
    • 您实际上需要该方法,然后 ^^ 将 xib 中的视图连接到 FlipsideView 中的右侧 IBAction,然后您可以从那里传递它,如上所示。我什至可以鞭打你一个小示例应用程序...给我一个小时,我要吃饭
    猜你喜欢
    • 2016-02-11
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    相关资源
    最近更新 更多