UIAertView在UIAlertView子类中

时间:2010-08-14 10:44:06

标签: iphone uiview uitextview uialertview

我正在尝试将UITextView放在UIAlertView的自定义子类中,我使用我的背景图像创建。 UITextView仅用于显示大量文本(因此滚动)。 这是我的子类

的代码
- (id)initNarrationViewWithImage:(UIImage *)image text:(NSString *)text{
    if (self = [super init]) {
        self.backgroundImage = image;  
        UITextView * textView = [[UITextView alloc] initWithFrame:CGRectZero];
        self.textualNarrationView = textView;
        [textView release];
        self.textualNarrationView.text = text;
        self.textualNarrationView.backgroundColor = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0];
        self.textualNarrationView.opaque = YES;
        [self addSubview:textualNarrationView];
    }
    return self;
}

- (void)drawRect:(CGRect)rect {

    NSLog(@"DRAU");
    CGSize imageSize = self.backgroundImage.size;
    [self.backgroundImage drawInRect:CGRectMake(0, 0, imageSize.width, imageSize.height)];
}

- (void)layoutSubviews {


    CGSize imageSize = self.backgroundImage.size;
    self.textualNarrationView.bounds = CGRectMake(0, 0, imageSize.width - 20, imageSize.height - 20);
    self.textualNarrationView.center = CGPointMake(320/2, 480/2);


}

- (void)show{
    [super show];
    NSLog(@"SCIO");
    CGSize imageSize = self.backgroundImage.size;
    self.bounds = CGRectMake(0, 0, imageSize.width, imageSize.height);
    self.center = CGPointMake(320/2, 480/2);
}

这是我第一次对UIView进行子类化,由于背景图像正确显示,我肯定会遗漏一些东西,UITextview也会在几分之一秒后跳起来(似乎是一个坐标问题)。

1 个答案:

答案 0 :(得分:0)

我最终创建了自己的UIAlertView自定义版本,并在其中提供了UITextViewHere是让我这样做的原因。

通过这样做,当我尝试将UITextView附加到背景UIImageView作为子视图时,我遇到了一种奇怪的行为,它不再对触摸做出响应,使其工作的方式正如预期的那样是将它附加到基本视图并实现以下方法

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

让它在执行时返回YES