[Code Note] The placeholder Effect of UIView, uiviewplaceholder
I ,.
2. Engineering Drawing.
3. Code.
RootViewController. h
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController<UITextViewDelegate>{ UITextView *psTextView; UILabel *pslabel;}@end
RootViewController. m
# Import "RootViewController. h "@ interface RootViewController () @ end @ implementation RootViewController-(id) initWithNibName :( NSString *) bundle :( NSBundle *) handle {self = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil]; if (self) {// Custom initialization} return self;}-(void) viewDidLoad {[super viewDidLoad]; // Do any additional setup after loading the view. self. title = @ "placeholder Effect of UIView"; [self initBackgroundView];} # pragma-mark-Initialize background image-(void) initBackgroundView {UIView * backView = [[UIView alloc] initWithFrame: CGRectMake (0, 0,320,480)]; [self. view addSubview: backView]; psTextView = [[UITextView alloc] initWithFrame: CGRectMake (10, 70,280,200)]; psTextView. text = @ ""; psTextView. backgroundColor = [UIColor yellowColor]; psTextView. delegate = self; psTextView. scrollEnabled = NO; [backView addSubview: psTextView]; pslabel = [[UILabel alloc] initWithFrame: CGRectMake (15,140,280, 20)]; pslabel. text = @ "Enter remarks"; pslabel. textColor = [UIColor grayColor]; pslabel. enabled = NO; pslabel. backgroundColor = [UIColor clearColor]; [backView addSubview: pslabel];} # pragma-mark-UITextView Delegate-(BOOL) textViewShouldBeginEditing :( UITextView *) textView {return YES ;} -(BOOL) textView :( UITextView *) textView shouldChangeTextInRange :( nsange) range replacementText :( NSString *) text {if (text. length> 0) {pslabel. hidden = YES;} if ([text isEqualToString: @ "\ n"]) {[textView resignFirstResponder]; return NO;} return YES ;}