Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Write implemention!</p> <pre><code>//.h #import &lt;UIKit/UIKit.h&gt; @interface UIImageActionSheet : UIActionSheet { UIImage *titleImage; } -(id) initWithImage:(UIImage *)image title:(NSString *)title delegate:(id &lt;UIActionSheetDelegate&gt;)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles; @end //.m file #import "UIImageActionSheet.h" @implementation UIImageActionSheet -(id) initWithImage:(UIImage *)image title:(NSString *)title delegate:(id &lt;UIActionSheetDelegate&gt;)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles{ self = [super initWithTitle:title delegate:delegate cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitles,nil]; if (self) { titleImage=image; [titleImage retain]; UIImageView *imageView = [[UIImageView alloc] initWithImage:titleImage]; imageView.frame = CGRectZero; for (UIView *subView in self.subviews){ if (![subView isKindOfClass:[UILabel class]]) { [self insertSubview:imageView aboveSubview:subView]; break; } } [imageView release]; } return self; } - (CGFloat) maxLabelYCoordinate { // Determine maximum y-coordinate of labels CGFloat maxY = 0; for( UIView *view in self.subviews ){ if([view isKindOfClass:[UILabel class]]) { CGRect viewFrame = [view frame]; CGFloat lowerY = viewFrame.origin.y + viewFrame.size.height; if(lowerY &gt; maxY) maxY = lowerY; } } return maxY; } -(void) layoutSubviews{ [super layoutSubviews]; CGRect frame = [self frame]; CGFloat labelMaxY = [self maxLabelYCoordinate]; for(UIView *view in self.subviews){ if (![view isKindOfClass:[UILabel class]]) { if([view isKindOfClass:[UIImageView class]]){ CGRect viewFrame = CGRectMake((320 - titleImage.size.width)/2, labelMaxY + 10, titleImage.size.width, titleImage.size.height); [view setFrame:viewFrame]; } else if(![view isKindOfClass:[UIImageView class]]) { CGRect viewFrame = [view frame]; viewFrame.origin.y += titleImage.size.height+10; [view setFrame:viewFrame]; } } } frame.origin.y -= titleImage.size.height + 2.0; frame.size.height += titleImage.size.height + 2.0; [self setFrame:frame]; } /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code. } */ - (void)dealloc { [super dealloc]; if (titleImage) { [titleImage release]; } } @end </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload