UITextView внутри подкласса UIAlertView - PullRequest
0 голосов
/ 14 августа 2010

Я пытаюсь поместить 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 голосов
/ 26 ноября 2010

Я наконец-то создал свою собственную настроенную версию UIAlertView и предоставил UITextView внутри нее. Здесь - вот что заставило меня сделать это.

При этом я испытал странное поведение, когда пытался прикрепить UITextView к фону UIImageView в качестве подпредставления.больше не реагировал на прикосновения, чтобы заставить его работать должным образом, нужно было прикрепить его к базовому виду и реализовать следующий метод

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

, вернув его YES когда необходимо.

...