我不知道如果我有我的視圖控制器在我storyboard
文件連接到我的觀點正確,但這裏的設置明細賬 - 我使用xcode 5
:的ViewController沒有更新的UIView與自定義類
一視圖控制器使用自定義類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