[英]How to Reference UIImageView (Xcode iOS)
我剛剛開始學習Xcode和Objective C的基礎知識,並且我正在制作一個基本的手電筒應用程序作為起點。
我已經掌握了大部分的基礎知識,但是我不知道如何從一個單獨的動作中引用另一個元素(我不知道這個術語是否正確)。
例如:
- (IBAction)screenButtonClicked:(id)sender {
UIButton *button = (UIButton *)sender;
if (_ScreenOnOff) {
[self.view setBackgroundColor:[UIColor blackColor]];
[button setTitle:@"Screen (Off)" forState: UIControlStateNormal];
}
else {
[self.view setBackgroundColor:[UIColor whiteColor]];
[button setTitle:@"Screen (On)" forState: UIControlStateNormal];
}
_ScreenOnOff = !_ScreenOnOff;
}
我在情節提要上有一個與之鏈接的按鈕,並且我有一個要顯示和隱藏的UIImageView(取決於if)。
我到處都在尋找如何做到這一點的方法,並盡我所能將其放入Google,但沒有運氣。
這可能是目標C的第一步,但請幫助,因為它會教我。
提前致謝。
在頭文件中為UIImageView聲明一個IBOutlet:
@property (weak) IBOutlet UIImageView *myImageView;
之后,將UIImageView連接到Interface Builder中的此IBOutlet。
然后,您可以像這樣引用(並隱藏它):
self.myImageView.hidden = _ScreenOnOff;
在您的實施文件中。
另請參閱: 創建和連接插座
此操作可能歸您的視圖控制器所有。 如果視圖控制器具有名為“ imageView”的UIImageView屬性,則可以像使用_ScreenOnOff一樣從操作內部訪問它。
要隱藏圖像視圖,您可以執行以下操作:
self.imageView.hidden = YES;
請注意,使用self.imageView和self.ScreenOnOff非常重要,而不是通過_imageView直接訪問該屬性。 當您在類中聲明屬性(無論是否為IBOutlet)時,編譯器都會將訪問器方法綜合到該屬性(獲取和設置)。 因此,當您調用self.ScreenOnOff時,它類似於[self ScreenOnOff]。
您可以通過“ _”直接訪問屬性的唯一地方是init和dealloc方法中。 '-(void)viewDidLoad'是init方法的類型。 我想你想要這樣的東西:
- (IBAction)screenButtonClicked:(id)sender {
UIButton *button = (UIButton *)sender;
if (self.ScreenOnOff) {
[self.view setBackgroundColor:[UIColor blackColor]];
[button setTitle:@"Screen (Off)" forState: UIControlStateNormal];
self.imageView.hidden = YES;
}
else {
[self.view setBackgroundColor:[UIColor whiteColor]];
[button setTitle:@"Screen (On)" forState: UIControlStateNormal];
self.imageView.hidden = NO;
}
self.ScreenOnOff = !self.ScreenOnOff;
}
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.