2012-05-03 3 views
0

Для пользовательского интерфейса приложения, над которым я работаю, я пытаюсь создать закругленные углы для контроллера вида. У меня есть UINavigationBar и UITableView. Я уже округлял два верхних угла UINavigationBar вручную, используя собственный фон с материалом UIAppearance. Теперь я хочу обойти дно 2 углов UITableView, чтобы он выглядел красиво. Код, который я имею сейчас, округляет все 4 угла. Кто-нибудь знает, как я могу только обойти дно 2?Xcode/iOS 5 - Округление только внизу 2 угла UITableView

Вот что я добавил прямо сейчас в моем методе ViewDidLoad для UITableViewController. И я импортировал QuartzCore.

_tasksTableView.layer.cornerRadius=5; 

Благодаря тонну для всех, кто может помочь!

ответ

2

Вы можете создать новый CAShapeLayer и установить свой путь, чтобы быть bezierPath создан с

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect 
          byRoundingCorners:(UIRectCorner)corners 
           cornerRadii:(CGSize)cornerRadii 

Byt установки углов (UIRectCornerBottomLeft | UIRectCornerBottomRight) вашего нового слоя будет иметь закругленные углы в двух нижних углах.

Далее вы маскируете _tasksTableView.layer с созданным вами слоем формы, установив на уровне представления таблицы значение mask.


Примечание: слой форма должна не быть у любого супер слой.

Примечания: путь Безье должно быть преобразовано в CGPathRef путем вызова CGPath на пути Безье перед установкой его в качестве path свойства слоя формы.

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