Tạo bóng như là một lớp trong suốt tại một kích thước cụ thể, sau đó tạo ra một hình ảnh căng ra, như thế này:
UIImage *shadowImage = [UIImage imageNamed:@"shadow.png"];
shadowImage = [shadowImage stretchableImageWithLeftCapWidth:floorf(shadowImage.size.width/2) topCapHeight:floorf(shadowImage.size.height/2)];
Sau đó bạn có thể đặt mà như hình ảnh ở một UIImageView với quy mô contentMode để phù hợp và nó sẽ làm việc theo cách bạn muốn.
Cho phép nói chế độ xem của bạn được gọi là "myView". Bạn có thể thêm vào bóng tối như thế này:
UIImageView *shadowImageView = [[UIImageView alloc] initWithImage:shadowImage];
shadowImageView.contentMode = UIViewContentModeScaleToFill;
shadowImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
shadowImageView.frame = myView.bounds;
[myView addSubview:shadowImageView];
[shadowImageView release]; // only needed if you aren't using ARC
Bạn cũng có thể làm hầu hết những điều này trong xây dựng giao diện nếu bạn thích, miễn là bạn tạo ra hình ảnh căng ra chính nó trong mã.
Nguồn
2012-02-09 16:16:06
tôi sẽ kiểm tra rằng bây giờ. – alexmngn
Tôi có thể làm gì để thêm hình ảnh căng này trên nền của UIView của tôi? Với phương thức 'backgroundColor', nó không hoạt động. – alexmngn
Bạn có thấy phần thứ hai của câu trả lời của tôi về việc sử dụng UIImageView và thêm nó dưới dạng chế độ xem phụ vào chế độ xem chính của bạn không? –