我困在以下代碼中。 一些如何我的UIButton擴展類不能顯示或隱藏UIImageView自定義UIButton不能與鏈接的UIImageView交互
我的方法正在被調用,imageview不是零。
下面是代碼:
@interface UILinkedImageButton : UIButton {
IBOutlet UIImageView *linkImageView;
}
@property (nonatomic, retain) IBOutlet UIImageView *linkImageView;
@end
#import "UILinkedImageButton.h"
@interface UILinkedImageButton()
- (void)showImage;
- (void)hideImage;
@end
-------------------------------------------------------------------------------------------------
@implementation UILinkedImageButton
@synthesize linkImageView;
- (void) dealloc{
[linkImageView release], linkImageView = nil;
[super dealloc];
}
- (id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if(self){
[self addTarget:self action:@selector(showImage) forControlEvents:UIControlEventTouchDown];
[self addTarget:self action:@selector(hideImage) forControlEvents:UIControlEventTouchUpInside];
[self addTarget:self action:@selector(hideImage) forControlEvents:UIControlEventTouchUpOutside];
}
return self;
}
- (void)showImage
{
if(self.imageView){
NSLog(@"UILinkImageButton - showImage - currentStatus: %@", self.imageView);
self.imageView.hidden = NO;
[self.superview layoutIfNeeded];
}
}
- (void)hideImage
{
if(self.imageView){
NSLog(@"UILinkImageButton - hideImage");
self.imageView.hidden = YES;
}
}
@end
通常我會想到那些行動,在控制器中,而不是按鈕。然後你應該在Interface Builder或你的視圖控制器中設置按鈕的動作(可能在-loadView中); – 2010-07-09 07:43:45
那麼函數被調用,我可以在日誌中看到它們。 但鏈接的圖像視圖的所有更改都不會顯示。 – rckoenes 2010-07-09 08:46:04
您的UIImageView是否處於視圖層次結構中?也許,你忘了把它與IB聯繫起來,或者它不是任何父視圖的子視圖? (這種方式將分配對象,但當然沒有可見的視圖) – kpower 2010-07-09 09:12:27