2015-05-29 3 views
2

Я пытаюсь добавить subview (blurview) к представлению изображения, но он помещает его в нижнем правом углу.Subview, добавленный к представлению изображения, неуместен

Вот код, который я использовал, чтобы сделать blurview (viewDidLoad):

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; 
self.blurView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; 
self.blurView.frame = self.view.frame; 

Это код, я использую, чтобы добавить подвид к просмотру изображения (didSelectRowAtIndexPath):

FriendsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FriendsTableViewCell" forIndexPath:indexPath]; 
[cell.chosenImage addSubview:self.blurView]; 

Это выглядит так: http://i.stack.imgur.com/Hddej.png

Это то, на что это должно быть похоже: http://i.stack.imgur.com/X4Isf.jpg

+0

Трудно знать, что это не так, как у вас есть некоторые странности в вашем коде. В качестве примера, не 'dequeue' ячейку в' tableView: didSelectRowAtIndexPath: '. Используйте 'FriendsTableViewCell * cell = (FriendsTableViewCell *) [tableView cellForRowAtIndexPath: indexPath]; вместо этого. Кроме того, вы устанавливаете кадр вашего размытия в 'viewDidLoad' до того, как ячейка существует, но затем пытаетесь добавить представление в ячейку. Вы должны установить границы на основе 'contentView' ячейки. Но еще лучше было бы использовать ограничения между «contentView» и «blurView». Я подозреваю, что у вас есть другие проблемы. –

+0

Вот что случилось. Я изменил эту линию, и она работает. – somepers

ответ

0

Вы использовали self.view.frame вместо self.view.bounds, поэтому изображение размытия взяло координаты UITableViewCell внутри его родителя (UITableView). Предполагая, что вы просто хотите, чтобы они были одинакового размера, используйте границы в UITableViewCell в

Смотрите раздел «Просмотр геометрии и системы координат» здесь для более подробного объяснения координатных систем: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html

+0

Я изменил это, но он все равно производит тот же эффект. Когда я меняю его на 'self.blurView.bounds = self.view.bounds', он полностью исчезает. – somepers

 Смежные вопросы

  • Нет связанных вопросов^_^