1

我正在尝试将 ILColorPicker 移植到使用 Storyboard 的 iPad 应用程序中。

我将 UIView 放在 UIViewController 中;在那个 UIView 中我有 3 个其他 UIViews(在下面的灰色中,包含的 UIView 有一个黑色背景,这给了它边框)。 在此处输入图像描述

3 个视图中的每一个都具有与示例匹配的连接。

此连接图像用于顶部 UIView。 在此处输入图像描述

这是中间 UIView 的连接图像 在此处输入图像描述

这是底部 UIVIew 的连接图像 在此处输入图像描述

当我在模拟器中运行应用程序并单击此控制器的菜单选项卡按钮时,我只看到黑屏。此外,我在“viewDidLoad”中放了一个 NSLog,它在那里经历了六 (6) 次!

我已经为此工作了一个多星期,并且已经达到了我的经验和知识可以帮助我的尽头。有人可以帮我弄清楚这里有什么问题吗?我会非常非常感谢它。(如果需要,将提供代码;只是不想在这里写书!):D

更新:“viewDidLoad”的代码

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"viewDidLoad");
    //  Build a random color to show off setting he color on the iPad
    UIColor *c = [UIColor colorWithRed:(arc4random()%100)/100.0f
                                 green:(arc4random()%100)/100.0f
                                 blue:(arc4random()%100)/100.0f
                                 alpha:1.0];

    colorChip.backgroundColor = c;
    colorPicker.color = c;
    huePicker.color = c;
}

更新 2:“didFinishLaunchingWithOptions”的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}
4

1 回答 1

1

我不确定您的代表设置为什么,但您应该将它们连接到控制器而不是视图。话虽如此,您确定您的 IBOutlets 已连接,我使用断言进行检查。

从一个带有单个视图 + 视图控制器的空白故事板项目中,我得到了与您所拥有的类似的东西,这就是我得到的:

  // ViewController.h
  @protocol MyPickerDelegate <NSObject>
  - (void)myPickerDidPick:(id)sender;
  - (void)myPickerPickColor:(id)sender color:(UIColor*)color;
  @end

  @interface ViewController : UIViewController<MyPickerDelegate>
  @property (weak) IBOutlet __weak UIView *colorBar;
  @property (weak) IBOutlet __weak UIView *saturationBrightnessPicker;
  @property (weak) IBOutlet __weak UIView *huePicker;
  @end

  // ViewController.m
  @interface ViewController () {
    __weak UIView *colorBar_;
    __weak UIView *saturationBrightnessPicker_;
    __weak UIView *huePicker_;
  }
  @end

  @implementation ViewController

  @synthesize colorBar = colorBar_;
  @synthesize saturationBrightnessPicker = saturationBrightnessPicker_;
  @synthesize huePicker = huePicker_;

  - (void)viewDidLoad {
    [super viewDidLoad];

    NSAssert(colorBar_, @"colorBar not connected");
    NSAssert(saturationBrightnessPicker_, @"saturationBrightnessPicker not connected");
    NSAssert(huePicker_, @"huePicker not connected");

    self.view.backgroundColor = [UIColor blackColor];  
    colorBar_.backgroundColor = [UIColor redColor];
    saturationBrightnessPicker_.backgroundColor = [UIColor greenColor];
    huePicker_.backgroundColor = [UIColor blueColor];
  }

  - (void)myPickerDidPick:(id)sender {
    NSLog(@"Did pick");
  }

  ...

  @end

希望这可以帮助!

于 2012-04-25T15:16:58.477 回答