【发布时间】:2013-12-17 06:01:19
【问题描述】:
我不确定我的 storyboard 文件中的视图控制器是否正确连接到我的视图,但这里是设置的细分 - 我正在使用 xcode 5:
一个使用自定义类CICBoostGaugeViewController(在身份检查器中配置)的视图控制器。
使用自定义类CICGaugeBuilder 的一个视图(在故事板文件中的身份检查器中配置)。
CICGaugeBuilder 类绘制一个仪表并在一个 init 方法中设置仪表的属性。当我在模拟器中运行此设置时,仪表会根据CICGaugeBuilder 中的初始化仪表参数正确显示。到目前为止没有问题。
我的问题是当我在视图控制器中创建 CICGaugeBuilder 类的实例并设置属性时,当我在 sim 中运行它时它们不会显示,只有在 CICGaugeBuilder 类中初始化的值是已申请。
CICBoostGaugeViewController.h
#import <UIKit/UIKit.h>
#import "CICGaugeBuilder.h"
@class CICGaugeBuilder;
@interface CICBoostGaugeViewController : UIViewController{
CICGaugeBuilder *boostGauge;
}
@property (nonatomic, retain) IBOutlet CICGaugeBuilder *boostGauge;
@end
CICBoostGaugeViewController.m
#import "CICBoostGaugeViewController.h"
#import "CICGaugeBuilder.h"
@interface CICBoostGaugeViewController ()
@end
@implementation CICBoostGaugeViewController
@synthesize boostGauge;
- (void)viewDidLoad
{
[super viewDidLoad];
self.boostGauge.minGaugeNumber = 0;
self.boostGauge.maxGaugeNumber = 25;
self.boostGauge.gaugeLabel = @"Boost/Vac";
self.boostGauge.incrementPerLargeTick = 10;
self.boostGauge.tickStartAngleDegrees = 135;
self.boostGauge.tickDistance = 270;
self.boostGauge.menuItemsFont = [UIFont fontWithName:@"Helvetica" size:14];
self.boostGauge.value = 10;
}
- (void)viewDidUnload
{
//self.boostGauge = nil;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
这是CICGaugeBuilder类中的初始化方法:
self.minGaugeNumber = 0;
self.maxGaugeNumber = 100;
self.gaugeType = 2;
self.gaugeLabel = @"Boost/Vac";
self.incrementPerLargeTick = 10;
self.tickStartAngleDegrees = 135;
self.tickDistance = 270;
self.menuItemsFont = [UIFont fontWithName:@"Helvetica" size:14];
请注意,在模拟器中运行时会保留 100 的 maxGaugeNumber。仪表正确绘制,但问题是未使用视图控制器中的对象实例。我试过[self.boostGauge SetNeedsDisplay] 还是不行。
在我的故事板文件中,视图控制器没有任何引用出口。我认为这需要连接到应用程序委托,但我不确定。 Dragging 应用委托的视图控制器不允许建立连接。
这是 CICAppDelegate.h 文件:
#import <UIKit/UIKit.h>
@class CICBoostGaugeViewController;
@interface CICAppDelegate : UIResponder <UIApplicationDelegate>{
UIWindow *window;
CICBoostGaugeViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet CICBoostGaugeViewController *viewController;
@end
【问题讨论】:
标签: ios objective-c uiviewcontroller storyboard