Я смотрел несколько видеороликов WWDC, и они говорят об использовании UIImageView, чтобы растянуть ваши изображения, чтобы не нанести никакой дополнительной памяти. В их примере использовался небольшой текстовый пузырь, например тот, который вы получаете, когда вы долго нажимаете на tableViewCell в приложении «Музыка». Затем они говорят о том, как вы должны разбить его на 3 ломтика: левый, правый и центральный, так как центральная часть имеет маленький треугольник внизу, который указывает на таблицуViewCell, которую вы долго нажимали. Может ли кто-нибудь объяснить, как кто-то это делает, так как они не предоставляют какой-либо код в своем примере? Псевдокод в порядке. Глядя на документации, мое предположение:UIImageView autoresizingmask, UIImage stretchableImageWithLeftCapWidth
создать три UIImages самого маленького размера из вашего графического редактора:
UIImage *leftImage = [UIImage imageNamed:@"left.png"];
UIImage *rightImage = [UIImage imageNamed:@"right.png"];
UIImage *centerImage = [UIImage imageNamed:@"center.png"];
leftImage = [leftImage stretchableImageWithLeftCapWidth:0 topCapHeight:0];
rightImage = [rightImage stretchableImageWithLeftCapWidth:0 topCapHeight:0];
centerImage = [centerImage stretchableImageWithLeftCapWidth:0 topCapHeight:0];
UIImageView *leftImgView = [[UIImageView alloc] initWithImage:leftImage];
leftImgView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
UIImageView *rightImgView = [[UIImageView alloc] initWithImage:rightImage];
leftImgView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
UIImageView *centerImgView = [[UIImageView alloc] initWithImage:centerImage];
leftImgView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
// do I just add them all to the subview of self.view? Do I need to set their frames somewhere? If so, how do I know where they go since it's 3 slices making up an image.
// release memory
Мой связанный с этим вопрос к этой теме, если как бы вы сделали это в IB. Как вы делаете 3 imageViews занимают весь экран, так как это то, что вы хотите, чтобы изображение расширялось?