久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

之前总结的今天给大分享一下iOS

發布時間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 之前总结的今天给大分享一下iOS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 退回輸入鍵盤 2 蘋果 ios 開發一年的工作筆記 3 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponder]; 4 } 5 CGRect 6 CGRect frame = CGRectMake (origin.x, origin.y, size.width, size.height);矩形 NSStringFromCGRect(someCG) 把 CGRect 結構轉變為格式化字符串; CGRectFromString(aString) 由字符串恢復出矩形; 7 CGRectInset(aRect) 創建較小或較大的矩形(中心點相同),+較小 -較大 CGRectIntersectsRect(rect1, rect2) 判斷兩矩形是否交叉,是否重疊 CGRectZero 高度和寬度為零的/位于(0,0)的矩形常量 8 CGPoint & CGSize 9 CGPoint aPoint = CGPointMake(x, y); CGSize aSize = CGSizeMake(width, height); 10 設置透明度 11 [myView setAlpha:value]; (0.0 < value < 1.0) 12 設置背景色 13 [myView setBackgroundColor:[UIColor redColor]]; 14 (blackColor;darkGrayColor;lightGrayColor; whiteColor;grayColor; redColor; greenColor; blueColor; cyanColor;yellowColor; magentaColor;orangeColor;purpleColor; brownColor; clearColor; ) 15 自定義顏色 16 UIColor *newColor = [[UIColor alloc] 17 initWithRed:(float) green:(float) blue:(float) alpha:(float)]; 18 0.0~1.0 19 豎屏 20 320X480 21 橫屏 22 480X320 23 狀態欄高 (顯示時間和網絡狀態) 20 像素 24 導航欄、工具欄高(返回) 44 像素 25 隱藏狀態欄 26 [[UIApplication shareApplication] setStatusBarHidden: YES animated:NO] 27 橫屏 28 [[UIApplication shareApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]. 29 屏幕變動檢測 30 orientation == UIInterfaceOrientationLandscapeLeft 31 全屏 32 window=[[UIWindow alloc] initWithFrame:[UIScreen mainScreen] bounds]; 33 自動適應父視圖大小: 34 aView.autoresizingSubviews = YES; 35 aView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | 36 UIViewAutoresizingFlexibleHeight); 37 定義按鈕 38 UIButton *scaleUpButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [scaleUpButton setTitle:@"放 大" forState:UIControlStateNormal]; scaleUpButton.frame = CGRectMake(40, 420, 100, 40); 39 [scaleUpButton addTarget:self 40 action:@selector(scaleUp) forControlEvents:UIControlEventTouchUpInside]; 41 設置視圖背景圖片 42 UIImageView *aView; 43 [aView setImage:[UIImage imageNamed:@”name.png”]]; view1.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"image1.png"]]; 44 自定義 UISlider 的樣式和滑塊 45 46 我們使用的是 UISlider 的 setMinimumTrackImage,和 setMaximumTrackImage 方法來定義圖 片的,這兩個方法可以設置滑塊左邊和右邊的圖片的,不過如果用的是同一張圖片且寬度和 控件寬度基本一致,就不會有變形拉伸的后果,先看代碼,寫在 viewDidLoad 中: 47 //左右軌的圖片 48 UIImage *stetchLeftTrack= [UIImage imageNamed:@"brightness_bar.png"]; UIImage *stetchRightTrack = [UIImage imageNamed:@"brightness_bar.png"]; //滑塊圖片 49 UIImage *thumbImage = [UIImage imageNamed:@"mark.png"]; 50 UISlider *sliderA=[[UISlider alloc]initWithFrame:CGRectMake(30, 320, 257, 7)]; sliderA.backgroundColor = [UIColor clearColor]; 51 sliderA.value=1.0; 52 sliderA.minimumValue=0.7; 53 sliderA.maximumValue=1.0; 54 [sliderA setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 55 [sliderA setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; //注意這里要加UIControlStateHightlighted的狀態,否則當拖動滑塊時滑塊將變成原生的 56 控件 57 [sliderA setThumbImage:thumbImage forState:UIControlStateHighlighted]; [sliderA setThumbImage:thumbImage forState:UIControlStateNormal]; //滑塊拖動時的事件 58 [sliderA addTarget:self action:@selector(sliderValueChanged:) 59 forControlEvents:UIControlEventValueChanged]; //滑動拖動后的事件 60 [sliderA addTarget:self action:@selector(sliderDragUp:) 61 forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:sliderA]; 62 為了大家實驗方便,我附上背景圖brightness_bar.png和滑塊圖mark.png http://pic002.cnblogs.com/images/2011/162291/2011121611431816.png http://pic002.cnblogs.com/images/2011/162291/2011121611432897.png 63 -(IBAction)sliderValueChanged:(id)sender{ 64 UISlider *slider = (UISlider *) sender; 65 NSString *newText = [[NSString alloc] initWithFormat:@”%d”, (int)(slider.value + 0.5f)]; label.text = newText; 66 } 67 活動表單 68 69 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 70 <UIActionSheetDelegate> 71 - (IBActive) someButtonPressed:(id) sender { 72 UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@”Are you sure? 73 delegate:self 74 cancelButtonTitle:@”No way!” destructiveButtonTitle:@”Yes, I’m Sure!” otherButtonTitles:nil]; 75 [actionSheet showInView:self.view]; 76 [actionSheet release]; } 77 警告視圖 78 <UIAlertViewDelegate> 79 - (void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger) buttonIndex 80 { 81 if(buttonIndex != [actionSheet cancelButtonIndex]) { 82 NSString *message = [[NSString alloc] initWithFormat:@”You can breathe easy, everything went OK.”]; 83 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Something was done” 84 [alert show]; [alert release]; [message release]; 85 } } 86 動畫效果 87 -(void)doChange:(id)sender { 88 if(view2 == nil) 89 { 90 [self loadSec]; 91 message:message delegate:self cancelButtonTitle:@”OK” otherButtonTitles:nil]; 93 } 94 [UIView beginAnimations:nil context:NULL]; 95 [UIView setAnimationDuration:1]; 96 [UIView setAnimationTransition:([view1 superview]?UIViewAnimationTransitionFlipFromLeft:UIViewAnimationTransitionFlipFromRigh t)forView:self.view cache:YES]; 97 if([view1 superview]!= nil) { 98 [view1 removeFromSuperview]; [self.view addSubview:view2]; 99 }else { 100 [view2 removeFromSuperview]; [self.view addSubview:view1]; } 101 [UIView commitAnimations]; 102 } 103 Table View <UITableViewDateSource> #pragma mark - 104 #pragma mark Table View Data Source Methods //指定分區中的行數,默認為 1 105 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 106 { 107 return [self.listData count]; } 108 //設置每一行 cell 顯示的內容 109 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 110 { 111 static NSString *SimpleTableIndentifier = @"SimpleTableIndentifier"; 112 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIndentifier]; if (cell == nil) { 113 cell = [[[UITableViewCell alloc] 114 initWithStyle:UITableViewCellStyleSubtitle 115 reuseIdentifier:SimpleTableIndentifier] 116 autorelease]; 117 } 118 UIImage *image = [UIImage imageNamed:@"13.gif"]; cell.imageView.image = image; 119 NSUInteger row = [indexPath row]; cell.textLabel.text = [listData objectAtIndex:row]; 120 cell.textLabel.font = [UIFont boldSystemFontOfSize:20]; 121 if(row < 5) 122 cell.detailTextLabel.text = @"Best friends"; else 123 cell.detailTextLabel.text = @"friends"; return cell; 124 } 125 圖像、文本標簽和詳細文本標簽 126 圖像:如果設置圖像,則它顯示在文本的左側; 文本標簽:這是單元的主要文本 (UITableViewCellStyleDefault 只顯示文本標簽);詳細文本標簽:這是單元的輔助文本, 通常用作解釋性說明或標簽 127 UITableViewCellStyleSubtitle UITableViewCellStyleDefault UITableViewCellStyleValue1 UITableViewCellStyleValue2 128 <UITableViewDelegate> 129 #pragma mark - 130 #pragma mark Table View Delegate Methods //把每一行縮進級別設置為其行號 131 - (NSInteger)tableView:(UITableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath { 132 NSUInteger row = [indexPath row]; 133 return row; 134 } 135 //獲取傳遞過來的 indexPath 值 136 - (NSIndexPath willSelectRowAtIndexPath:(NSIndexPath *)indexPath 137 { 138 NSUInteger row = [indexPath row]; 139 if (row == 0) 140 return nil; 141 *)tableView 142 *)tableView 143 *)tableView:(UITableView 144 return indexPath; } 145 - (void)tableView:(UITableView 146 *)indexPath 147 { 148 NSUInteger row = [indexPath row]; 149 NSString *rowValue = [listData objectAtIndex:row]; 150 NSString *message = [[NSString alloc] initWithFormat:@"You selected %@",rowValue]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Row Selected" message:message 151 delegate:nil cancelButtonTitle:@"Yes, I did!" otherButtonTitles:nil]; 152 [alert show]; 153 [alert release]; 154 [message release]; 155 [tableView deselectRowAtIndexPath:indexPath animated:YES]; } 156 //設置行的高度 157 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 158 { 159 return 40; 160 } 161 NavigationController 推出 push 推出 pop 162 [self.navigationController pushViewController:_detailController animated:YES]; [self.navigationController popViewControllerAnimated:YES]; 163 Debug: 164 NSLog(@"%s %d", __FUNCTION__, __LINE__); 165 點擊 textField 外的地方回收鍵盤 166 先定義一個 UIControl 類型的對象,在上面可以添加觸發事件,令 SEL 實踐為回收鍵盤的方 法,最后將 UIControl 的實例加到當前 View 上。 167 UIControl *m_control = [[UIControl alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [m_control addTarget:self action:@selector(keyboardReturn) forControlEvents:UIControlEventTouchUpInside]; 168 [self.view addSubview:m_control]; 169 *)tableView 170 didSelectRowAtIndexPath:(NSIndexPath 171 - (void) keyboardReturn 172 { 173 [aTextField resignFirstResponder]; } 174 鍵盤覆蓋輸入框 175 當鍵盤調出時將輸入框覆蓋時,可以用下方法: 176 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 177 [self.view setFrame:CGRectMake(0, -100, 320, 480) ]; 178 return YES; 179 } 180 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField { 181 [self.view setFrame:CGRectMake(0, 0, 320, 480)]; return YES; 182 } 183 當準備輸入時,將視圖的位置上調 100,這樣鍵盤就不能覆蓋到輸入框。 184 當依賴注入方法不好使時,可以在 AppDelegate 內申明一個全局的控制器實例 _anotherViewController,在另一個需要使用_anotherViewController 的地方定義以下委托方 法,使用共享的 UIApplication 實例來獲取該委托的引用 185 SomeAppDelegate *appDelegate = (SomeAppDelegate *)[[UIApplication sharedApplication] delegate]; 186 _anotherViewController = appDelegate._anotherViewController; 187 UIViewController 內建 Table View 188 純代碼在 UIViewController 控制器內建 Table View 189 @interface RootViewController : UIViewController UITableViewDataSource> { 190 NSArray *timeZoneNames; 191 } 192 @property (nonatomic,retain) NSArray *timeZoneNames; 193 @end 194 <UITableViewDelegate, 195 (void) loadView 196 { 197 UITableView *tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] style: UITableViewStylePlain]; 198 tableView.autoresizingMask = (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingWidth); 200 tableView.delegate = self; tableView.dataSource = self; [tableView reloadData]; 201 self.view = tableView; [tableView release]; 202 } 203 將 plist 文件中的數據賦給數組 204 NSString *thePath = [[NSBundle mainBundle] pathForResource:@"States" ofType:@"plist"]; NSArray *array = [NSArray arrayWithContentsOfFile:thePath]; 205 UITouch 手指的觸摸范圍:64X64 206 #pragma mark - 207 #pragma mark Touch Events 208 - (void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *) event { originFrame = bookCover.frame; 209 NSLog(@"%s %d", __FUNCTION__,__LINE__); 210 if ([touches count] == 2) 211 { 212 NSArray *twoTouches = [touches allObjects]; 213 UITouch *firstTouch = [twoTouches objectAtIndex:0]; 214 UITouch *secondTouch = [twoTouches objectAtIndex:1]; 215 CGPoint firstPoint = [firstTouch locationInView:bookCover]; CGPoint secondPoint = [secondTouch locationInView:bookCover]; 216 CGFloat deltaX = secondPoint.x - firstPoint.x; 217 CGFloat deltaY = secondPoint.y - firstPoint.y; initialDistance = sqrt(deltaX * deltaX + deltaY * deltaY ); frameX = bookCover.frame.origin.x; 218 frameY = bookCover.frame.origin.y; 219 frameW = bookCover.frame.size.width; 220 frameH = bookCover.frame.size.height; 221 NSLog(@"%s %d", __FUNCTION__,__LINE__); 222 } 223 } 224 - (void)touchesMoved:(NSSet *) touches withEvent:(UIEvent *) event { 225 if([touches count] == 2) 226 { 227 NSLog(@"%s %d", __FUNCTION__,__LINE__); 228 NSArray *twoTouches = [touches allObjects]; 229 UITouch *firstTouch = [twoTouches objectAtIndex:0]; UITouch *secondTouch = [twoTouches objectAtIndex:1]; 230 CGPoint firstPoint = [firstTouch locationInView:bookCover]; CGPoint secondPoint = [secondTouch locationInView:bookCover]; 231 CGFloat deltaX = secondPoint.x - firstPoint.x; 232 CGFloat deltaY = secondPoint.y - firstPoint.y; 233 CGFloat currentDistance = sqrt(deltaX * deltaX + deltaY * deltaY ); 234 if (initialDistance == 0) { 235 initialDistance = currentDistance; 236 } 237 else if (currentDistance != initialDistance) 238 { 239 CGFloat changedDistance = currentDistance - initialDistance; NSLog(@"changedDistance = %f",changedDistance); 240 [bookCover setFrame:CGRectMake(frameX - changedDistance / 2, frameY - (changedDistance * frameH) / (2 * frameW), 241 frameW + changedDistance, 242 frameH + (changedDistance * frameH) / frameW)]; 243 } 244 } 245 } 246 - (void)touchesEnded:(NSSet *) touches withEvent:(UIEvent *) event { UITouch *touch = [touches anyObject]; 247 UITouch 雙擊圖片變大/還原 248 if ([touch tapCount] == 2) 249 { 250 NSLog(@"%s %d", __FUNCTION__,__LINE__); 251 if (!flag) { 252 [bookCover setFrame:CGRectMake(bookCover.frame.origin.x - bookCover.frame.size.width / 2, 253 bookCover.frame.origin.y - bookCover.frame.size.height / 2, 2 * bookCover.frame.size.width, 254 2 * bookCover.frame.size.height)]; 255 flag = YES; 256 } 257 else { 258 [bookCover setFrame:CGRectMake(bookCover.frame.origin.x + bookCover.frame.size.width / 4, bookCover.frame.origin.y + bookCover.frame.size.height / 4, 259 bookCover.frame.size.width / 2, bookCover.frame.size.height / 2)]; 260 flag = NO; 261 } 262 } 263 } 264 Get the Location of Touches 265 (CGPoint)locationInView:(UIView *)view (CGPoint)previousLocationInView:(UIView *)view view window 266 Getting Touch Attributes 267 tapCount(read only) timestamp(read only) phase(read only) 268 Getting a Touch Object's Gesture Recognizers gestureRecognizers 269 Touch Phase 270 UITouchPhaseBegan UITouchPhaseMoved UITouchPhaseStationary UITouchPhaseEnded UITouchPhaseCancelled 271 從 Plist 里讀內容 272 NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"book" ofType:@"plist"]; NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; NSString *book = [dictionary objectForKey:bookTitle]; 273 [textView setText:book]; 274 (void) initialize { 275 NSUserDefaults = [NSUserDefaults standardUserDefaults]; 276 NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"DeleteBackup"]; 277 [defaults registerDefaults:appDefaults]; } 278 To get a value of a default, use the valueForKey: method: [[theDefaultsController values] valueForKey:@"userName"]; 279 To set a value for a default, use setValue:forKey: 280 [[theDefaultsController values] setValue:newUserName forKey:@"userName"]; 281 [[NSUserDefaults standardUserDefaults] setValue:aVale forKey:aKey]; [[NSUserDefaults standardUserDefaults] valueForKey:aKey]; 282 獲取 Documents 目錄 283 NSArray *paths = NSSearchPathForDictionariesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 284 NSString *documentsDirectory = [paths objectAtIndex:0]; 285 NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"theFile.txt"]; 286 獲取 tmp 目錄 287 NSString *tempPath = NSTemporaryDirectory(); 288 NSString *tempFile = [tempPath stringByAppendingPathComponent:@"tempFile.txt"]; 289 [[NSUserDefaults standardUserDefaults] setObject:data forKey:@"someKey"]; [[NSUserDefaults standardUserDefaults] objectForKey:aKey]; 290 自定義 NavigationBar 291 navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; [navigationBar setBarStyle:UIBarStyleBlackOpaque]; 292 myNavigationItem = [[UINavigationItem alloc] initWithTitle:@"Setting"]; [navigationBar setItems:[NSArray arrayWithObject:myNavigationItem]]; [self.view addSubview:navigationBar]; 293 backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(back)]; 294 myNavigationItem.leftBarButtonItem = backButton; 295 利用 Safari 打開一個鏈接 296 NSURL *url = [NSURL URLWithString:@"http://www.cnblogs.com/tracy-e/"]; [[UIApplication sharedApplication] openURL:url]; 297 利用 UIWebView 顯示 pdf 文件、網頁。。。 298 webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 299 [webView setDelegate:self]; 300 [webView setScalesPageToFit:YES]; 301 [webView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; 302 [webView setAllowsInlineMediaPlayback:YES]; 303 [self.view addSubview:webView]; 304 NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"ojc" ofType:@"pdf"]; NSURL *url = [NSURL fileURLWithPath:pdfPath]; 305 NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy 306 timeoutInterval:5]; 307 [webView loadRequest:request]; 308 [myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: @"http://www.cnblogs.com/tracy-e/"]]]; 309 NSString *errorString = [NSString stringWithFormat:@"<html><center><font size= +5 color ='red'>An Error Occurred:<br>%@</fone></center></html>",error]; [myWebView loadHTMLString:errorString baseURL:nil]; 310 //Stopping a load request when the view is to disappear - (void)viewWillDisappear:(BOOL)animate{ 311 if ([myWebView loading]){ 312 [myWebView stopLoading]; 313 } 314 myWebView.delegate = nil; 315 [UIApplication shareApplication].networkActivityIndicatorVisible = NO; } 316 漢字轉碼 317 NSString *oriString = @"\u67aa\u738b"; 318 NSString *escapedString = [oriString stringByReplacingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 319 Checking for background support on earlier versions of iOS 320 UIDevice *device = [UIDevice currentDevice]; 321 BOOL backgroundSupported = NO; 322 if ([device respondsToSelector:@selector(isMultitaskingSupported)]){ 323 backgroundSupported = device.multitaskingSupported; } 324 Being a Responsible,Multitasking-Aware Application 325 # Do not make any OpenGL ES calls from your code. 326 # Cancel any Bonjour-related services before being suspended. 327 # Be prepared to handle connection failures in your network-based sockets. 328 # Save your application state before moving to the background. 329 # Release any unneeded memory when moving to the background. 330 # Stop using shared system resources before being suspended. 331 # Avoid updating your windows and views. 332 # Respond to connect and disconnect notification for external accessories. 333 # Clean up resource for active alerts when moving to the background. 334 # Remove sensitive information from views before moving to the background. # Do minimal work while running in the background. 335 Handing the Keyboard notifications 336 //Call this method somewhere in your view controller setup code - (void) registerForKeyboardNotifications{ 337 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification 338 object:nil]; 339 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasHidden:) name:UIKeyboardDidHideNotification 340 object:nil]; 341 } 342 //Called when the UIKeyboardDidShowNotification is sent 343 - (void)keyboardWasShown:(NSNotification *) aNotification{ if(keyboardShown) 344 return; 345 NSDictionary *info = [aNotification userInfo]; 346 //get the size of the keyboard. 347 NSValue *aValue = [info objectForKey:UIKeyboardFrameBeginUserInfoKey]; CGSize keyboardSize = [aValue CGRectValue].size; 348 //Resize the scroll view 349 CGRect viewFrame = [scrollView frame]; viewFrame.size.height -= keyboardSize.height; 350 //Scroll the active text field into view 351 CGRect textFieldRect = [activeField frame]; 352 [scrollView scrollRectToVisible:textFieldRect animated:YES]; 353 keyboardShown = YES; } 354 //Called when the UIKeyboardDidHideNotification is sent 355 - (void)keyboardWasHidden:(NSNotification *) aNotification{ NSDictionary *info = [aNotification userInfo]; 356 //Get the size of the keyboard. 357 NSValue *aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; CGSize keyboardSize = [aValue CGRectValue].size; 358 //Reset the height of the scroll view to its original value CGRect viewFrame = [scrollView Frame]; viewFrame.size.height += keyboardSize.height; scrollView.frame = viewFrame; 359 keyboardShown = NO; } 360 點擊鍵盤的 next 按鈕,在不同的 textField 之間換行 //首先給不同的 textField 賦不同的且相鄰的 tag 值 361 - (BOOL)textFieldShouldReturn:(UITextField *)textField 362 { 363 if ([textField returnKeyType] != UIReturnKeyDone) 364 { 365 NSInteger nextTag = [textField tag] + 1; 366 UIView *nextTextField = [[self tableView] viewWithTag:nextTag]; [nextTextField becomeFirstResponder]; 367 } 368 else { 369 [textField resignFirstResponder]; 370 } 371 return YES; 372 } 373 Configuring a date formatter 374 - (void)viewDidLoad { 375 [super viewDidLoad]; 376 dateFormatter = [[NSDateFormatter alloc] init]; 377 [dateFormatter setGeneratesCalendarDates:YES]; 378 [dateFormatter setLocale:[NSLocale currentLocale]]; 379 [dateFormatter setCalendar:[NSCalendar autoupdatingCurrentCalendar]]; 380 [dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]]; 381 [dateFormatter setDateStyle:NSDateFormatterShortStyle]; 382 DOB.placeholder = [NSString stringWithFormat:@"Example: %@",[dateFormatter stringFromDate:[NSDate date]]]; 383 } 384 - (void)textFieldDidEndEditing:(UITextField *)textField{ [textField resignFirstResponder]; 385 if ([textField.text isEqualToString:@""]) 386 return; 387 switch (textField.tag){ 388 case DOBField: 389 NSDate *theDate = [dateFormatter dateFromString:textField.text]; if (theDate) 390 [inputDate setObject:theDate forKey:MyAppPersonDOBKey]; break; 391 default: 392 break; 393 } 394 } 395 tableView 的 cell 高度 396 tableView 的 cell 高度除了在 delegate 中指定外,還可以在任意位置以[tableView 397 setRowHeight:44]的方式指定 398 [[self navigationItem] setLeftBarButtonItem:[self editButtonItem]]; 399 - (void)setEditing:(BOOL)editing animated:(BOOL)animated{ [super setEditing:editing animated:animated]; 400 if (editing){ 401 ...... 402 } else{ ...... 403 } } 404 One added a subview to a view, release the subview to avoid the extra retain count of it, Because when you insert a view as a subview using addSubview:, the subview is retained by its superview. When you remove the subview from its superview using the removeFromSuperview: method, subview is autoreleased. 405 為 UINavigationBar 設置背景圖片 406 在 iPhone 開發中, 有時候我們想給導航條添加背景圖片, 實現多樣化的導航條效果, 用 407 其他方法往往無法達到理想的效果, 經過網上搜索及多次實驗, 確定如下最佳實現方案: 408 為 UINavigatonBar 增加如下 Category(類別:提供一種為某個類添加方法而又不必編寫子 409 類的途徑,類別只能添加成員函數,不能添加數據成員): 410 @implementation UINavigationBar (CustomImage) - (void)drawRect:(CGRect)rect { 411 UIImage *image = [UIImage imageNamed: @"NavigationBar.png"]; 412 [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; } 413 @end 414 例如, 在我的項目中, 添加如下代碼: / 415 /* input: The image and a tag to later identify the view */ @implementation UINavigationBar (CustomImage) 416 - (void)drawRect:(CGRect)rect { 417 UIImage *image = [UIImage imageNamed: @"title_bg.png"]; 418 [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; } 419 @end 420 / 421 @implementation FriendsPageViewController 422 // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { 423 self.navigationBar.tintColor = [UIColor purpleColor]; 424 [self initWithRootViewController:[[RegPageViewController alloc] init]]; 425 [super viewDidLoad]; } 426 ...... 427 實現的效果如下圖: 428 為 UINavigationBar 添加自定義背景 429 @implementation UINavigationBar (UINavigationBarCategory) 430 - (void)drawRect:(CGRect)rect { //顏色填充 431 // UIColor *color = [UIColor redColor]; 432 // CGContextRef context = UIGraphicsGetCurrentContext(); 433 // CGContextSetFillColor(context, CGColorGetComponents( [color CGColor])); 434 // CGContextFillRect(context, rect); 435 // self.tintColor = color; 436 //圖片填充 437 UIColor *color = [UIColor colorWithRed:46.0f/255.0f green:87.0f/255.0f blue:29.0f/255.0f alpha:1.0f]; 438 UIImage *img = [UIImage imageNamed: @"bg.png"]; 439 [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 440 self.tintColor = color; } 441 @end 442 加載圖片要及時 release 443 你還在使用 myImage = [UIImage imageNamed:@"icon.png"]; 嗎? 如題,是不是大家為了方便都這樣加載圖片啊 444 myImage = [UIImage imageNamed:@"icon.png"]; 445 那么小心了 這種方法在一些圖片很少,或者圖片很小的程序里是 ok 的。 但是,在大量加載圖片的程序里,請千萬不要這樣做。 為什么呢 ??????? 446 這種方法在 application bundle 的頂層文件夾尋找由供應的名字的圖象。 如果找到圖片,裝 載到 iPhone 系統緩存圖象。那意味圖片是(理論上)放在內存里作為 cache 的。 447 試想你圖片多了,是什么后果? 448 圖片 cache 極有可能不會響應 memory warnings and release its objects 449 所以,用圖片的時候一定要小心的 alloc 和 release。 450 推 薦 使 用 NSString *path = [[NSBundle mainBundle] pathForResource:@"icon" ofType:@"png"]; 451 myImage = [UIImage imageWithContentsOfFile:path]; 452 // Todo use of myImage 453 [myImage release]; 454 From: http://www.cocoachina.com/bbs/simple/?t27420.html 455 uiwebview 打開 doc,pdf 文件 456 UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 55, 320, 300)]; 457 webView.delegate = self; webView.multipleTouchEnabled = YES; webView.scalesPageToFit = YES; 458 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 459 460 NSUserDomainMask, YES); 461 NSString *documentsDirectory = [paths objectAtIndex:0]; 462 NSString *docPath = [documentsDirectory stringByAppendingString:@"/doc2003_1.doc"]; 463 NSLog(@"#######%@",docPath); 464 NSURL *url = [NSURL fileURLWithPath:docPath]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request]; 465 [self.view addSubview:webView]; [webView release]; 466 From:http://blog.csdn.net/dadalan/archive/2010/10/22/5959301.aspx 467 iPhone 游戲中既播放背景音樂又播放特效聲音的辦法 468 有時候在 iPhone 游戲中,既要播放背景音樂,同時又要播放比如槍的開火音效。此時 您可以試試以下方法 469 NSString *musicFilePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"wav"]; //創建音樂文件路徑 470 NSURL *musicURL = [[NSURL alloc] initFileURLWithPath:musicFilePath]; 471 AVAudioPlayer* musicPlayer = [[AVAudioPlayer initWithContentsOfURL:musicURL error:nil]; 472 [musicURL release]; 473 [musicPlayer prepareToPlay]; 474 //[musicPlayer setVolume:1]; //設置音量大小 475 //musicPlayer .numberOfLoops = -1;//設置音樂播放次數 -1 為一直循環 476 要 導 入 框 架 AVFoundation.framework , 頭 文 件 中 <AVFoundation/AVFoundation.h>;做成類的話則更方便。 477 From: http://blog.csdn.net/dadalan/archive/2010/10/19/5950493.aspx 478 NSNotificationCenter 用于增加回調函數 479 alloc] 480 #import 481 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_willBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil]; 482 UINavigationBar 背景 Hack LOGO_320×44.png 圖片顯示在背景上, 484 @implementation UINavigationBar (UINavigationBarCategory) - (void)drawRect:(CGRect)rect { 485 //加入旋轉坐標系代碼 // Drawing code 486 UIImage *navBarImage = [UIImage imageNamed:@"LOGO_320×44.png"]; CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, 0.0, self.frame.size.height); CGContextScaleCTM(context, 1.0, -1.0); 487 CGPoint center=self.center; 488 CGImageRef cgImage= CGImageCreateWithImageInRect(navBarImage.CGImage, CGRectMake(0, 0, 1, 44)); 489 CGContextDrawImage(context, CGRectMake(center.x-160-80, 0, 80, self.frame.size.height), cgImage); 490 CGContextDrawImage(context, CGRectMake(center.x-160, 0, 320, self.frame.size.height), navBarImage.CGImage); 491 CGContextDrawImage(context, CGRectMake(center.x+160, 0, 80, self.frame.size.height), cgImage); 492 } @end 493 old code 494 CGContextDrawImage(context, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), navBarImage.CGImage); 495 hack 過 logo 不再拉伸 496 From: http://blog.163.com/fengyi1103@126/blog/static/13835627420106279102671/ 清除電話號碼中的其他符號(源碼) 497 最近從通訊錄讀取電話號碼,讀出得號碼如:134-1814-****。 而我需要的為 11 位純數字,一直找方法解決此問題,今天終于找到了。 501 代碼如下: 502 NSString *originalString = @"(123) 123123 abc"; NSMutableString *strippedString = [NSMutableString 503 stringWithCapacity:originalString.length]; 504 NSScanner *scanner = [NSScanner scannerWithString:originalString]; NSCharacterSet *numbers = [NSCharacterSet 505 characterSetWithCharactersInString:@"0123456789"]; 506 while ([scanner isAtEnd] == NO) { 507 NSString *buffer; 508 if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) { 509 [strippedString appendString:buffer]; } 510 // --------- Add the following to get out of endless loop else { 511 [scanner setScanLocation:([scanner scanLocation] + 1)]; } 512 // --------- End of addition } 513 NSLog(@"%@", strippedString); // "123123123" 514 From: http://stackoverflow.com/questions/1129521/remove-all-but-numbers-from-nsstring 515 正則判斷:字符串只包含字母和數字 516 NSString *mystring = @"Letter1234"; NSString *regex = @"[a-z][A-Z][0-9]"; 517 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 518 if ([predicate evaluateWithObject:mystring] == YES) { //implement 519 } 520 一行代碼設置 UITableViewCell 與導航條間距
523 UITableView 的 cell 默認出現在 uitableview 的第一行,如果你想自定義 UITableViewCell 與導航條間距的話,可以使用下面這行代碼 524 tableview.tableHeaderView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)]autorelease]; 525 From: http://blog.163.com/fengyi1103@126/blog/static/1383562742010101611107492/ 526 修改 UITableview 滾動條顏色的方法 527 UITableview 的滾動條默認顏色是黑色的,如果 UItableview 背景也是深顏色,則 528 滾動條會變的很不明顯。您可以用下面這行代碼來改變滾動條的顏色 529 self.tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite; 當然,最后的 “White” 也可以換成其它顏色。 530 下文件之前獲取到文件大小的代碼 531 下面這段代碼,能實現在下載文件之前獲得文件大小,應用在軟件里,能在很大程度 上改善用戶體驗 532 [m_pASIHTTPRequest setDidReceiveResponseHeadersSelector:@selector(didReceiveResponseHeaders:)]; 533 - (void)didReceiveResponseHeaders:(ASIHTTPRequest *)request { 534 NSLog(@"didReceiveResponseHeaders valueForKey:@"Content-Length"]); 535 } 536 網絡編程總結 iphone 一:確認網絡環境 3G/WIFI 537 1. 添加源文件和 framework 538 %@",[m_request.responseHeaders 539 開發 Web 等網絡應用程序的時候,需要確認網絡環境,連接情況等信息。如果沒 有處理它們,是不會通過 Apple 的審(我們的)查的。 540 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 541 Apple 的 例程 Reachability 中介紹了取得/檢測網絡狀態的方法。要在應用程序程 序中使用 Reachability,首先要完成如下兩部: 542 1.1. 添加源文件: 543 在你的程序中使用 Reachability 只須將該例程中的 Reachability.h 和 Reachability.m 拷貝到你的工程中。如下圖: 544 1.2.添加 framework: 545 將 SystemConfiguration.framework 添加進工程。如下圖: 546 2. 網絡狀態 547 Reachability.h 中定義了三種網絡狀態: typedef enum { 548 NotReachable = 0, ReachableViaWiFi, ReachableViaWWAN 549 } NetworkStatus; 550 因此可以這樣檢查網絡狀態: 551 //無連接 552 //使用 3G/GPRS 網絡 553 //使用 WiFi 網絡 554 Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”]; switch ([r currentReachabilityStatus]) { 555 } 556 case NotReachable: 557 // 沒有網絡連接 558 break; 559 case ReachableViaWWAN: 560 // 使用 3G 網絡 561 break; 562 case ReachableViaWiFi: 563 // 使用 WiFi 網絡 break; 564 3.檢查當前網絡環境 程序啟動時,如果想檢測可用的網絡環境,可以像這樣 // 是否 wifi 565 + (BOOL) IsEnableWIFI { 566 return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != 568 NotReachable); } 569 // 是否 3G 570 + (BOOL) IsEnable3G { 571 return ([[Reachability currentReachabilityStatus] != NotReachable); 572 } 573 例子: 574 - (void)viewWillAppear:(BOOL)animated { 575 reachabilityForInternetConnection] 576 if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) && 577 NotReachable)) { 578 ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == 579 self.navigationItem.hidesBackButton = YES; 580 [self.navigationItem setLeftBarButtonItem:nil animated:NO]; } 581 } 582 4. 鏈接狀態的實時通知 583 網絡連接狀態的實時檢查,通知在網絡應用中也是十分必要的。接續狀態發生變 化時,需要及時地通知用戶: 584 Reachability 1.5 版本 585 // My.AppDelegate.h #import "Reachability.h" 586 @interface MyAppDelegate : NSObject <UIApplicationDelegate> { NetworkStatus remoteHostStatus; 587 } 588 @property NetworkStatus remoteHostStatus; 589 @end 590 // My.AppDelegate.m #import "MyAppDelegate.h" 591 @implementation MyAppDelegate @synthesize remoteHostStatus; 592 // 更新網絡狀態 594 - (void)updateStatus { 595 self.remoteHostStatus = [[Reachability sharedReachability] remoteHostStatus]; 596 } 597 // 通知網絡狀態 598 - (void)reachabilityChanged:(NSNotification *)note { 599 [self updateStatus]; 600 if (self.remoteHostStatus == NotReachable) { 601 UIAlertView *alert = initWithTitle:NSLocalizedString(@"AppName", nil) 602 [[UIAlertView 603 alloc] 604 [alert show]; 605 [alert release]; } 606 } 607 message:NSLocalizedString (@"NotReachable", nil) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 608 // 程序啟動器,啟動網絡監視 609 - (void)applicationDidFinishLaunching:(UIApplication *)application { 610 // 設置網絡檢測的站點 611 [[Reachability sharedReachability] setHostName:@"www.apple.com"]; [[Reachability sharedReachability] setNetworkStatusNotificationsEnabled:YES]; 612 // 設置網絡狀態變化時的通知函數 613 [[NSNotificationCenter defaultCenter] addObserver:self 614 selector:@selector(reachabilityChanged:) 615 name:@"kNetworkReachabilityChangedNotification" object:nil]; [self updateStatus]; 616 } 617 - (void)dealloc { 618 // 刪除通知對象 619 [[NSNotificationCenter defaultCenter] removeObserver:self]; [window release]; 620 [super dealloc]; 621 } 622 Reachability 2.0 版本 623 // MyAppDelegate.h 624 retain]; 625 // 監測網絡情況 626 [[NSNotificationCenter defaultCenter] addObserver:self 627 selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil]; 628 hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] 629 hostReach startNotifer]; 631 @class Reachability; 632 @interface MyAppDelegate : NSObject <UIApplicationDelegate> { Reachability *hostReach; 633 } @end 634 // MyAppDelegate.m 635 - (void)reachabilityChanged:(NSNotification *)note { 636 Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass: [Reachability class]]); NetworkStatus status = [curReach currentReachabilityStatus]; 637 if (status == NotReachable) { 638 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AppName"" 639 } } 640 message:@"NotReachable" 641 delegate:nil 642 cancelButtonTitle:@"YES" otherButtonTitles:nil]; [alert show]; 643 [alert release]; 644 - (void)applicationDidFinishLaunching:(UIApplication *)application { // ... 645 // ... } 646 二:使用 NSConnection 下載數據 647 1.創建 NSConnection 對象,設置委托對象 649 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[self urlString]]]; 650 [NSURLConnection connectionWithRequest:request delegate:self]; 651 2. NSURLConnection delegate 委托方法 652 - (void)connection:(NSURLConnection *)connection 653 didReceiveResponse:(NSURLResponse *)response; 654 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError 655 *)error; *)data; 656 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 657 // store data 658 [self.receivedData setLength:0]; //通常在這里先清空接受數據的緩 659 660 } 661 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { /* appends the new data to the received data */ 662 [self.receivedData appendData:data]; //可能多次收到數據,把新的數據 添加在現有數據最后 663 } 664 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { 665 // 錯誤處理 } 666 - (void)connectionDidFinishLoading:(NSURLConnection *)connection { // disconnect 667 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 668 NSString *returnString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding]; 669 NSLog(returnString); 670 [self urlLoaded:[self urlString] data:self.receivedData]; firstTimeDownloaded = YES; 671 } 672 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData 673 - (void)connectionDidFinishLoading:(NSURLConnection *)connection; 674 3. 實現委托方法 676 三:使用 NSXMLParser 解析 xml 文件 677 1. 設置委托對象,開始解析 678 NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; //或者也可以 使用 initWithContentsOfURL 直接下載文件,但是有一個原因不這么做: 679 // It's also possible to have NSXMLParser download the data, by passing it a URL, but this is not desirable 680 // because it gives less control over the network, particularly in responding to connection errors. 681 [parser setDelegate:self]; [parser parse]; 682 2. 常用的委托方法 683 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 684 namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict; 685 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 686 qualifiedName:(NSString *)qName; 687 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string; 688 - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError; static NSString *feedURLString = @"http://www.yifeiyang.net/test/test.xml"; 689 3. 應用舉例 690 - (void)parseXMLFileAtURL:(NSURL *)URL parseError:(NSError **)error { 691 NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:URL]; [parser setDelegate:self]; 692 [parser setShouldProcessNamespaces:NO]; 693 [parser setShouldReportNamespacePrefixes:NO]; 694 [parser setShouldResolveExternalEntities:NO]; [parser parse]; 695 NSError *parseError = [parser parserError]; 696 if (parseError && error) { 697 *error = parseError; } 698 [parser release];

701 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 702 attributes:(NSDictionary *)attributeDict{ // 元素開始句柄 703 if (qName) { 704 elementName = qName; 705 } 706 if ([elementName isEqualToString:@"user"]) { 707 // 輸出屬性值 708 NSLog(@"Name is %@ , Age objectForKey:@"name"], [attributeDict objectForKey:@"age"]); 709 } } 710 is %@", 711 [attributeDict 712 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 713 { 714 // 元素終了句柄 715 if (qName) { 716 elementName = qName; 717 } } 718 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 719 // 取得元素的 text } 720 NSError *parseError = nil; 721 [self parseXMLFileAtURL:[NSURL parseError:&parseError]; 722 Iphone 實現畫折線圖 723 URLWithString:feedURLString] 724 iphone 里面要畫圖一般都是通過 CoreGraphics.framwork 和 QuartzCore.framwork 實現,apple 的官方 sdk demon 中包含了 QuartzCore 的基本用法, 725 qualifiedName:(NSString*)qName 726 qualifiedName:(NSString *)qName 727 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 728 具體 demo 請參考 http://developer.apple.com/library/ios/#samplecode/QuartzDemo/ 折線圖 729 要實現折線圖也就把全部的點連起來,movePointLineto,具體的調用里面的 api 就可以實現 了,但是畫坐標就比較麻煩了,里面需要去轉很多,好在國外有人開源了一個畫折線圖的開 發包,首先看看效果吧,具體怎么用可以參考作者 git 版本庫中的 wiki。 http://github.com/devinross/tapkulibrary/wiki/How-To-Use-This-Library 730 這個包還提供了其他的很好看的 UI,都可以調來用,但是我們只需要一個畫圖要把整個包 都導進去,工程太大了,既然是開源的那就想辦法提取出來吧,原先之前也有人干過這樣的 事。 http://duivesteyn.net/2010/03/07/iphone-sdk-implementing-the-tapku-graph-in-your-application/ 731  732 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 733 我對源代碼進行簡單的修改,使其顯示坐標之類的,更加符合工程的需要,但是還 沒有實現畫多組數據,只能畫一組數據,不用 viewContol,而使用 addsubview,直 接添加到當前的窗口,最終效果如下。 734 使用方法: 735 1.工程添加 tk 庫里面的如下文件 736 2. 添加 QuartzCore framework 737 #import <QuartzCore/QuartzCore.h> 738 添加 TapkuLibrary.bundle 資源文件 3.代碼中完成實例,數據初始化就可以用了 739 下載修改后的版本。下次有時間在整理一個工程版本出來。 740 讓 iPhone 屏幕常亮不變暗的方法 741 如果您希望運行自己開發的 App 時,iPhone 的屏幕不再自動變暗,可以使用以下方法 讓屏幕常亮: iPhone OS 用一個布爾值用來控制是否取消應用程序空閑時間: @property(nonatomic, getter=isIdleTime 742 如果您希望運行自己開發的 App 時,iPhone 的屏幕不再自動變暗,可以使用以下方法 讓屏幕常亮: 743  744 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 745 iPhone OS 用一個布爾值用來控制是否取消應用程序空閑時間:@property(nonatomic, getter=isIdleTimerDisabled) BOOL idleTimerDisabled。這個值的默認屬性是"NO"。當大多數 應用程序沒有接收到用戶輸入信息的時候,系統會把設備設置成“休眠”狀態,iPhone 屏幕 也會變暗。這樣做是為了保存更多電量。事實上,應用程序在運行加速度游戲的時候是不需 要用戶輸入的,當然這里只是一個假設,把這個變量設置為"YES",來取消系統休眠的“空 閑時間”。 746 重點是:你必須當真正需要的時候才打開這個屬性當你不用的時候馬上還愿成"NO"。 大多數應用程序在休眠時間到的時候讓系統關閉屏幕。這個包括了有音頻的應用程 序。在 Audio Session Services 中使用適當的回放和記錄功能不會被間斷當屏幕關閉時。只有地圖應 用程序,游戲或者一些不間斷的用戶交互程序可以取消這個屬性。 747 蘋果開發網絡編程知識總結 748 以下蘋果開發網絡編程知識由 CocoaChina 會員 cocoa_yang 總結,希望能為蘋果開發 新手梳理知識脈絡,節省入門時間。一:確認網絡環境 3G/WIFI 1. 添加源文件和 framework 開發 Web 等網絡應用程序 749 以下蘋果開發網絡編程知識由 CocoaChina 會員 “cocoa_yang” 總結,希望能為蘋 果開發新手梳理知識脈絡,節省入門時間。 750 一:確認網絡環境 3G/WIFI 751 1. 添加源文件和 framework 752 開發 Web 等網絡應用程序的時候,需要確認網絡環境,連接情況等信息。如果沒 有處理它們,是不會通過 Apple 的審查的。 753 Apple 的 例程 Reachability 中介紹了取得/檢測網絡狀態的方法。要在應用程序程 序中使用 Reachability,首先要完成如下兩部: 754 1.1. 添加源文件: 755 在你的程序中使用 Reachability 只須將該例程中的 Reachability.h 和 Reachability.m 拷貝到你的工程中。如下圖: 756 1.2.添加 framework: 757 將 SystemConfiguration.framework 添加進工程。如下圖: 758 2. 網絡狀態 759 Reachability.h 中定義了三種網絡狀態: typedef enum { 760 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 761 NotReachable = 0, ReachableViaWiFi, ReachableViaWWAN 762 } NetworkStatus; 763 因此可以這樣檢查網絡狀態: 764 //無連接 765 //使用 3G/GPRS 網絡 766 //使用 WiFi 網絡 767 Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”]; switch ([r currentReachabilityStatus]) { 768 case NotReachable: 769 // 沒有網絡連接 770 break; 771 case ReachableViaWWAN: 772 // 使用 3G 網絡 773 break; 774 case ReachableViaWiFi: 775 // 使用 WiFi 網絡 break; 776 } 3.檢查當前網絡環境 777 程序啟動時,如果想檢測可用的網絡環境,可以像這樣 // 是否 wifi 778 + (BOOL) IsEnableWIFI { 779 return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable); 780 } 781 // 是否 3G 782 + (BOOL) IsEnable3G { 783 return ([[Reachability currentReachabilityStatus] != NotReachable); 784 } 785 例子: 786 - (void)viewWillAppear:(BOOL)animated { 787 reachabilityForInternetConnection] 788 if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) && 789 NotReachable)) { 790 ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == 791 self.navigationItem.hidesBackButton = YES; [self.navigationItem setLeftBarButtonItem:nil animated:NO]; 792 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 793 } } 794 4. 鏈接狀態的實時通知 網絡連接狀態的實時檢查,通知在網絡應用中也是十分必要的。接續狀態發生變 795 化時,需要及時地通知用戶: 796 Reachability 1.5 版本 797 // My.AppDelegate.h #import "Reachability.h" 798 @interface MyAppDelegate : NSObject <UIApplicationDelegate> { NetworkStatus remoteHostStatus; 799 } 800 @property NetworkStatus remoteHostStatus; 801 @end 802 // My.AppDelegate.m #import "MyAppDelegate.h" 803 @implementation MyAppDelegate @synthesize remoteHostStatus; 804 // 更新網絡狀態 805 - (void)updateStatus { 806 self.remoteHostStatus = [[Reachability sharedReachability] remoteHostStatus]; } 807 // 通知網絡狀態 808 - (void)reachabilityChanged:(NSNotification *)note { 809 [self updateStatus]; 810 if (self.remoteHostStatus == NotReachable) { 811 UIAlertView *alert = initWithTitle:NSLocalizedString(@"AppName", nil) 812 [[UIAlertView 813 alloc] 814 [alert show]; 815 [alert release]; } 816 message:NSLocalizedString (@"NotReachable", nil) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 817 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 818 } 819 // 程序啟動器,啟動網絡監視 820 - (void)applicationDidFinishLaunching:(UIApplication *)application { 821 // 設置網絡檢測的站點 822 [[Reachability sharedReachability] setHostName:@"www.apple.com"]; [[Reachability sharedReachability] setNetworkStatusNotificationsEnabled:YES]; 823 // 設置網絡狀態變化時的通知函數 824 [[NSNotificationCenter defaultCenter] addObserver:self 825 selector:@selector(reachabilityChanged:) 826 name:@"kNetworkReachabilityChangedNotification" object:nil]; [self updateStatus]; 827 } 828 - (void)dealloc { 829 // 刪除通知對象 830 [[NSNotificationCenter defaultCenter] removeObserver:self]; [window release]; 831 [super dealloc]; 832 } 833 Reachability 2.0 版本 834 // MyAppDelegate.h @class Reachability; 835 @interface MyAppDelegate : NSObject <UIApplicationDelegate> { Reachability *hostReach; 836 } @end 837 // MyAppDelegate.m 838 - (void)reachabilityChanged:(NSNotification *)note { 839 Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass: [Reachability class]]); NetworkStatus status = [curReach currentReachabilityStatus]; 840 if (status == NotReachable) { 841 retain]; 842 // 監測網絡情況 843 [[NSNotificationCenter defaultCenter] addObserver:self 844 selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil]; 845 hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] 846 hostReach startNotifer]; 847 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 848 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AppName"" message:@"NotReachable" 849 delegate:nil 850 cancelButtonTitle:@"YES" otherButtonTitles:nil]; [alert show]; 851 [alert release]; 852 } } 853 - (void)applicationDidFinishLaunching:(UIApplication *)application { // ... 854 // ... } 855 二:使用 NSConnection 下載數據 856 1.創建 NSConnection 對象,設置委托對象 857 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[self urlString]]]; 858 [NSURLConnection connectionWithRequest:request delegate:self]; 859 2. NSURLConnection delegate 委托方法 860 - (void)connection:(NSURLConnection *)connection 861 didReceiveResponse:(NSURLResponse *)response; 862 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError 863 *)error; *)data; 864 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData 865 - (void)connectionDidFinishLoading:(NSURLConnection *)connection; 3. 實現委托方法 866 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 867 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 868 // store data 869 [self.receivedData setLength:0]; //通常在這里先清空接受數據的緩 870 871 } 872 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { /* appends the new data to the received data */ 873 [self.receivedData appendData:data]; //可能多次收到數據,把新的數據 添加在現有數據最后 874 } 875 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { 876 // 錯誤處理 } 877 - (void)connectionDidFinishLoading:(NSURLConnection *)connection { // disconnect 878 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 879 NSString *returnString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding]; 880 NSLog(returnString); 881 [self urlLoaded:[self urlString] data:self.receivedData]; firstTimeDownloaded = YES; 882 } 883 三:使用 NSXMLParser 解析 xml 文件 884 1. 設置委托對象,開始解析 885 NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; 使用 initWithContentsOfURL 直接下載文件,但是有一個原因不這么做: 886 //或者也可以 887 // It's also possible to have NSXMLParser download the data, by passing it a URL, but this is not desirable 888 // because it gives less control over the network, particularly in responding to connection errors. 889 [parser setDelegate:self]; [parser parse]; 890 2. 常用的委托方法 891 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 892 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 893 namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict; 894 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 895 qualifiedName:(NSString *)qName; 896 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string; 897 - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError; static NSString *feedURLString = @"http://www.yifeiyang.net/test/test.xml"; 898 3. 應用舉例 899 - (void)parseXMLFileAtURL:(NSURL *)URL parseError:(NSError **)error { 900 NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:URL]; [parser setDelegate:self]; 901 [parser setShouldProcessNamespaces:NO]; 902 [parser setShouldReportNamespacePrefixes:NO]; 903 [parser setShouldResolveExternalEntities:NO]; [parser parse]; 904 NSError *parseError = [parser parserError]; 905 if (parseError && error) { 906 *error = parseError; } 907 [parser release]; } 908 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 909 attributes:(NSDictionary *)attributeDict{ // 元素開始句柄 910 if (qName) { 911 elementName = qName; 912 } 913 if ([elementName isEqualToString:@"user"]) { 914 // 輸出屬性值 915 NSLog(@"Name is %@ , Age objectForKey:@"name"], [attributeDict objectForKey:@"age"]); 916 } } 917 is %@", 918 [attributeDict 919 qualifiedName:(NSString*)qName 920 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 921 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI 922 { 923 // 元素終了句柄 924 if (qName) { 925 elementName = qName; 926 } } 927 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 928 // 取得元素的 text } 929 NSError *parseError = nil; 930 [self parseXMLFileAtURL:[NSURL parseError:&parseError]; 931 如何隱藏狀態欄 932 [ UIApplication sharedApplication ].statusBarHidden = YES; 933 .m 文件與.mm 文件的區別 934 .m 文件是 object-c 文件 935 .mm 文件相當于 c++或者 c 文件 936 URLWithString:feedURLString] 937 NSLog(@"afd")與 NSLog("afd") 938 細微差別會導致程序崩潰。 但是我不太明白為何蘋果要把編譯器做的對這兩種常量有區別。 不過值得一提的是可能為了方便蘋果自身的 NSObject 對象的格式化輸出。 safari 其實沒有把內存的緩存寫到存儲卡上 939 NSURLCache doesn't seem to support writing to disk on iPhone. The documentation for NSCachedURLResponse says that the NSURLCacheStoragePolicy "NSURLCacheStorageAllowed" is treated as "NSURLCacheStorageAllowedInMemoryOnly" by iPhone OS. 940 官方文檔是這么說的。 941 qualifiedName:(NSString *)qName 942 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 943  為了證明這個,我找到了一個目錄。 944 /private/var/mobile/Library/Caches/Safari/Thumbnails 945 隨機數的使用 946 頭文件的引用 947 #import <time.h> 948 #import <mach/mach_time.h> 949 srandom()的使用 950 srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF)); 951 直接使用 random() 來調用隨機數 在 UIImageView 中旋轉圖像 952 float rotateAngle = M_PI; 953 CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle); imageView.transform = transform; 954 以上代碼旋轉 imageView, 角度為 rotateAngle, 方向可以自己測試哦! 955 在 Quartz 中如何設置旋轉點 956 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]]; 957 imageView.layer.anchorPoint = CGPointMake(0.5, 1.0); 這個是把旋轉點設置為底部中間。記住是在QuartzCore.framework中才得到支 958 持。 959 NSMutableDictionary *rootObj = [NSMutableDictionary dictionaryWithCapacity:4]; //NSDictionary, NSData 等文件可以直接轉化為 plist 文件 960 NSDictionary *innerDict; NSString *name; 961 Player *player; 962 創建.plist 文件并存儲 963 NSString *errorDesc; //用來存放錯誤信息 965 NSInteger saveIndex; 966 for(int i = 0; i < [playerArray count]; i++) { player = nil; 967 player = [playerArray objectAtIndex:i]; if(player == nil) 968 break; 969 name = player.playerName;// This "Player1" denotes the player name could 970 also be the computer name 971 innerDict = [self getAllNodeInfoToDictionary:player]; 972 [rootObj setObject:innerDict forKey:name]; // This "Player1" denotes the person who start this game 973 } 974 player = nil; NSData 975 dataFromPropertyList:(id)rootObj errorDescription:&errorDesc]; 976 *plistData 977 = [NSPropertyListSerialization format:NSPropertyListXMLFormat_v1_0 978 紅色部分可以忽略,只是給 rootObj 添加一點內容。這個 plistData 為創建好的 plist 文件,用其 writeToFile 方法就可以寫成文件。下面是代碼: 979 /*得到移動設備上的文件存放位置*/ 980 NSString *documentsPath = [self getDocumentsDirectory]; 981 NSString *savePath = [documentsPath 982 stringByAppendingPathComponent:@"save.plist"]; 983 /*存文件*/ 984 if (plistData) { 985 [plistData writeToFile:savePath atomically:YES]; } 986 else { 987 NSLog(errorDesc); 988 [errorDesc release]; 989 } 990 - (NSString *)getDocumentsDirectory { 991 NSArray *paths 992 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); return [paths objectAtIndex:0]; 993 } 994 讀取 plist 文件并轉化為 NSDictionary 997 NSString *documentsPath = [self getDocumentsDirectory]; 998 NSString *fullPath stringByAppendingPathComponent:@"save.plist"]; 999 NSMutableDictionary* plistDict initWithContentsOfFile:fullPath]; 1000 讀取一般性文檔文件 1001 = [documentsPath 1002 NSString *tmp; 1003 NSArray *lines; /*將文件轉化為一行一行的*/ 1004 lines = [[NSString stringWithContentsOfFile:@"testFileReadLines.txt"] 1005 componentsSeparatedByString:@"\n"]; NSEnumerator *nse = [lines objectEnumerator]; 1006 // 讀取<>里的內容 1007 while(tmp = [nse nextObject]) { 1008 } 1009 = [[NSMutableDictionary 1010 alloc] 1011 NSString *stringBetweenBrackets = nil; 1012 NSScanner *scanner = [NSScanner scannerWithString:tmp]; [scanner scanUpToString:@"<" intoString:nil]; 1013 [scanner scanString:@"<" intoString:nil]; 1014 [scanner scanUpToString:@">" intoString:&stringBetweenBrackets]; 1015 NSLog([stringBetweenBrackets description]); 1016 對于讀寫文件,還有補充,暫時到此。隨機數和文件讀寫在游戲開發中經常用到。所 以把部分內容放在這,以便和大家分享,也當記錄,便于查找。 1017 隱藏 NavigationBar 1018 [self.navigationController setNavigationBarHidden:YES animated:YES]; 1019 在想隱藏的 ViewController 中使用就可以了。 1020 如何在 iPhone 程序中調用外部命令 1021 下面是如何在 iPhone 非官方 SDK 程序中調用外部命令的方法。 1022 - ( NSString * ) executeCommand : ( NSString * ) cmd { NSString * output = [ NSString string ] ; FILE * pipe = popen ( [ cmd cStringUsingEncoding : NSASCIIStringEnc 1024 下面是如何在 iPhone 非官方 SDK 程序中調用外部命令的方法。 1025 - (NSString *)executeCommand: (NSString *)cmd { 1026 NSString *output = [NSString string]; 1027 FILE *pipe = popen([cmd cStringUsingEncoding: NSASCIIStringEncoding], "r"); if (!pipe) return; 1028 char buf[1024]; 1029 while(fgets(buf, 1024, pipe)) { 1030 output = [output stringByAppendingFormat: @"%s", buf]; 1031 } 1032 pclose(pipe); return output; } 1033 NSString *yourcmd = [NSString stringWithFormat: @"your command"]; [self executeCommand: yourcmd]; 1034 如何在 iPhone 程序讀取數據時顯示進度窗 1035 下面代碼說明如何使用 iPhone 非官方 SDK 在讀取數據時顯示進度條。 以下代碼參考了 MobileRss。 1036 定義頭文件: 1037 #import "uikit/UIProgressHUD.h" 1038 @interface EyeCandy : UIApplication { UIProgressHUD *progress; 1039 } 1040 - (void) showProgressHUD:(NSString *)label withWindow:(UIWindow *)w withView:(UIView *)v withRect:(struct CGRect)rect; 1041 - (void) hideProgressHUD; .@end 上面的引號要改成<>1042 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 1043 import "EyeCandy.h" 1044 @implementation EyeCandy 1045 - (void)showProgressHUD:(NSString *)label withWindow:(UIWindow *)w withView:(UIView *)v withRect:(struct CGRect)rect 1046 { 1047 progress = [[UIProgressHUD alloc] initWithWindow: w]; [progress setText: label]; 1048 [progress drawRect: rect]; 1049 [progress show: YES]; 1050 [v addSubview:progress]; } 1051 - (void)hideProgressHUD { 1052 [progress show: NO]; 1053 [progress removeFromSuperview]; } 1054 @end 1055 使用下面代碼調用: 1056 // Setup Eye Candy View 1057 _eyeCandy = [[[EyeCandy alloc] init] retain]; 1058 // Call loading display 1059 [_eyeCandy showProgressHUD:@"Loading ..." withWindow:window withView:mainView withRect:CGRectMake(0.0f, 100.0f, 320.0f, 50.0f)]; 1060 // When finished for hiding the &quot;loading text&quot; [_eyeCandy hideProgressHUD]; 1061 WebKit 的基本用法 1062 WebKit 是蘋果開發中比較常用的瀏覽器引擎,Safari 使用的正是 WebKit 引擎。WebKit 基于 KDE 的 KHTML 加以再開發,解析速度超過了以往所有的瀏覽器。這里簡單記錄一下 WebKit 的基本用法。 1063 WebKit 由下面的結構組成: 1064 更多蘋果移動應用開發入門精選文檔教程薈萃:http://down.51cto.com/zt/2401 1065 ?DomCore ?JavaScriptCore ?WebCore 一般瀏覽 1066 要打開網頁,可以這樣做: 1067 1.[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlText]]]; 1068 DomCore 1069 DomCore 用于處理 DOM 文檔,包括: 1070 ?DOMDocument 1071 ?DOMNamedNodeMap 1072 ?DOMNode 1073 ?DOMNodeList 1074 要獲取一個 DOMDocument,可以這樣做: 1075 1.DOMDocument *myDOMDocument = [[webView mainFrame] DOMDocument]; 1076 要用于 HTML 處理,可以使用 DOMHTMLDocument(Mac OS X 10.4 之后),獲取方式 相同: 1077 1.DOMHTMLDocument *myDOMDocument = (DOMHTMLDocument*)[[webView mainFrame] DOMDocument]; 1078 方法定義: 1079 蘋果的 WebKit 更新說明 JavaScriptCore 1080 在 WebKit 中執行腳本的方法: 1081 1.WebScriptObject *myscript = [webView windowScriptObject]; 2.NSString *script = @"alert('hello');"; 1082 3.[myscript evaluateWebScript script]; 1083 參考: 1084 http://www.macgood.com/thread-24636-1-1.html http://www.cocoadev.com/index.pl?WebKit 1086 為什么不要做 iPhone 上面的應用 1087 簡單來說就是因為兩國的文化不同,或者說生活方式的不同。美國不管多窮的人都有 車,他們平時的生活方式和國內絕對是完全不同的。做應用和做游戲不一樣,應用需要滿足 人們某一 1088 簡單來說就是因為兩國的文化不同,或者說生活方式的不同。美國不管多窮的人 都有車,他們平時的生活方式和國內絕對是完全不同的。做應用和做游戲不一樣,應用需要 滿足人們某一部分的需求,比如,一個計算小費的軟件,在國內不會有市場,可是美國人都 有一個。 1089 大家可以設身處地的想一下,誰會需要你做的軟件,這樣的人有多少,這樣的人又有 iPhone 的又有多少。 1090 對于應用來說,針對商務人士的又比針對普通人的好,基本上商務人士不太在乎幾塊 錢一個軟件,這也是 backup assistant 賣得最好的一個原因。這個軟件一年的年費 24 美元, 大約有數千萬美元一年的收入。什么樣的應用軟件是這些人需要的?連筆者自己也不太清 楚,筆者雖然已經在美國工作了多年,但是對于美國文化的了解還處于一知半解狀態,更不 用說正在留學的學生了。 1091 還有一個能成功的應用軟件是你已經有非常多的數據,比如你有當地的所有加油站的 信息,做一個油價的地圖軟件,顯然市場會不錯。不過數據要是美國的數據,國內的沒有太 大的幫助。 1092 綜上所述,游戲比應用好做很多,如果要作應用的話,可以從單機的小應用開始。要 在美國運營一個支持 10 萬人的網絡應用,沒有 30 萬美元絕對沒戲。如果非要上,只能早死 早超生了。 1093 獲取 iPhone 用戶手機號 1094 使用下面的函數可以返回用戶的手機號: 1095 extern NSString *CTSettingCopyMyPhoneNumber(); 1096 然后調用即可。 1097 由于這個函數是包含在 CoreTelephony 中,所以只能用于非官方 iPhone SDK。 1098 在程序中關閉 iPhone 1099 首先在程序中引用 #include sys/reboot.h 然后使用 reboot(RB_HALT); 就可以直接將 iPhone 關機。 1100 首先在程序中引用 1101 1102 #include <sys/reboot.h> 1103 然后使用 1104 reboot(RB_HALT); 1105 就可以直接將 iPhone 關機。 1106 convert the contents of an NSData object to an NSString 1107 1. NSString *stringFromASC = [NSString stringWithCString:[ascData bytes] length:[ascData length]]; 1108 If the NSData object contains unichar characters then do this: 1109 NSString *stringFromUnichar = [NSString stringWithCharacters:[unicharData bytes] length:[unicharData length] / sizeof(unichar)]; 1110 2. - (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding 1111 iPhone 的特殊 URL 1112 在 iPhone 中,可以直接用 UIApp 打開 URL 地址。如下所示: 1113 1.[ UIApp openURL: [ NSURL URLWithString:@"http://www.apple.com" ] ]; 1114 或者: 1115 1.[ UIApp openURL: [ NSURL URLWithString:@"mailto:apple@mac.com?Subject=hello" ] ]; 1116 與此同時,iPhone 還包含一些其他除了 http://或者 mailto:之外的 URL: sms:// 可以調用短信程序 1117 tel:// 可以撥打電話 1118 itms:// 可以打開 MobileStore.app 1119 audio-player-event:// 可以打開 iPod audio-player-event://?uicmd=show-purchased-playlist 可以打開 iPod 播放列表 video-player-event:// 可以打開 iPod 中的視頻 1121 get iphone uniqueIdentifier 1122 I also find that I can get uniqueIdentifier using: 1123 UIDevice *myDevice = [UIDevice currentDevice];NSString *identifier = myDevice.uniqueIdentifier; 1124 打開本地網頁,與遠程網頁 1125 fileURLWithPath:Initializes and returns a newly created NSURL object as a file URL with a specified path. 1126 + (id)fileURLWithPath:(NSString *)path 1127 URLWithString: 1128 Creates and returns an NSURL object initialized with a provided string. 1129 + (id)URLWithString:(NSString *)URLString 1130 教你如何使用 UIWebView 1131 Start by opening up the WebBrowserTutorialAppDelegate.h file and editing the @interface 1132 line to read: 1133 @interface WebBrowserTutorialAppDelegate : NSObject <UIWebViewDelegate> { 1134 What we have done is to make the main AppDelegate a delegate for the UIWebView as well. 1135 Now we need to set our webView to have the main AppDelegate as its delegate, you can do this by opening up WebBrowserTutorialAppDelegate.m and putting the following line just inside theapplicationDidFinishLaunching function: 1136 webView.delegate = self; 1137 That is all pretty self explanatory, it just sets the delegate of our webView to self, which in this case is our main application delegate. 1138 Now we are pretty much done, we just need to add the function to catch the link clicks. To do this we need to add a new function, copy the content below to the WebBrowserTutorialAppDelegate.m file: 1139 - (BOOL)webView:(UIWebView*)webView 1141 shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 1142 NSURL *url = request.URL; 1143 NSString *urlString = url.absoluteString; NSLog(urlString); 1144 return YES; 1145 } 1146 This function will catch all requests and allow you to either manipulate them and pass them on or to perform your own custom action and stop the event from bubbling. 1147 The first line gets the URL of the request, this is the contents inside the href attribute in the anchor tag. 1148 The next line converts the URL to a string so we can log it out. You can access many parts of the NSURL, here are some of them and brief description of what they do. 1149 * absoluteString - An absolute string for the URL. Creating by resolving the receiver’s string against its base. 1150 * absoluteURL - An absolute URL that refers to the same resource as the receiver. If the receiver is already absolute, returns self. 1151 * baseURL - The base URL of the receiver. If the receiver is an absolute URL, returns nil. 1152 * host - The host of the URL. 1153 * parameterString - The parameter string of the URL. 1154 * password - The password of the URL (i.e. http://user:pass@www.test.com would return 1155 pass) 1156 * path - Returns the path of a URL. 1157 * port - The port number of the URL. 1158 * query - The query string of the URL. 1159 * relativePath - The relative path of the URL without resolving against the base URL. If the 1160 receiver is an absolute URL, this method returns the same value as path. 1161 * relativeString - string representation of the relative portion of the URL. If the receiver is an 1162 absolute URL this method returns the same value as absoluteString. 1163 * scheme - The resource specifier of the URL (i.e. http, https, file, ftp, etc). * user - The user portion of the URL. 1164 Then the third line simply logs the URL to the console, so you will new to open up the console while you run this in the simulator to see the results. 1165 Finally the forth line returns YES, this will allow the UIWebView to follow the link, if you would just like to catch a link and stop the UIWebView from following it then simply return NO. 1166 UIBUtton title image 不能同時顯示 1168 [ leftbutton setTitle:_(@"About") forState:UIControlStateNormal ]; 1169 [ leftbutton setImage:image forState:UIControlStateNormal ]; 1170 不能同時顯示。 其他控件如:UINavigatonItem 1171 不要在語言包里面設置空格 1172 有時,為了界面的需要,我們不要在語言包里面加空格,要在程序中進行控制。 1173 buttonTitle = [ NSString stringWithFormat:@" %@", _(@"updateWeb") ]; 1174 NSNotificationCenter 帶參數發送 1175 MPMoviePlayerController* theMovie = [[MPMoviePlayerController 1176 alloc]initWithContentURL:[NSURL fileURLWithPath:[[[tableTitles objectAtIndex:row] objectAtIndex:3] ]]; 1177 [[NSNotificationCenter defaultCenter] selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; 1178 [theMovie play]; -(void)myMovieFinishedCallback:(NSNotification*)aNotification { 1179 MPMoviePlayerController *theMovie = [aNotification object]; 1180 [[NSNotificationCenter defaultCenter] name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; 1181 // Release the movie instance [theMovie release]; } 1182 ------------ 1183 MPMoviePlayerController* theMovie = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:[[[tableTitles objectForKey:keyIndex] 1184 objectForKey:keyIndex] 1185 addObserver:self 1186 removeObserver:self 1188 objectAtIndex:row] objectAtIndex:3] ]]; 1189 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie userInfo:dic]; 1190 [theMovie play]; 1191 -(void)myMovieFinishedCallback:(NSNotification*)aNotification 1192 { 1193 MPMoviePlayerController *theMovie = [aNotification object]; 1194 [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; 1195 // Release the movie instance [theMovie release]; 1196 } 1197 延時一段時間執行某一函數 1198 [self performSelector:@selector(dismissModal) withObject:self afterDelay:1.0]; 119999 美金證書聯機開發 1200 第一步:進入 cd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/ sudo vi SDKSettings.plist,將 CODE_SIGNING_REQUIRED 的值改成 NO. 保存后退出. 1201 第二步:重新啟動 XCode 項目. 1202 第三步:右擊項目 GetInfo.將 Code Signing 下的 Code Signing Identity 值設置成 Don't Code 1203 Sign, 將 Code Signing Identity 下的 Any iOS Device 的值設置成空. 1204 獲取 IOS 設備的基本信息 系統唯一標識 1205 是什么設備:iPad 還是 iPhone 等 iOS 版本號 1206 系統名稱 1207 [[UIDevice currentDevice] uniqueIdentifier], 1209 [[UIDevice currentDevice] localizedModel], [[UIDevice currentDevice] systemVersion], [[UIDevice currentDevice] systemName], [[UIDevice currentDevice] model]]; 1210 用 NSDateFormatter 調整時間格式的代碼 1211 在開發 iOS 程序時,有時候需要將時間格式調整成自己希望的格式,這個時候我們可 以用 NSDateFormatter 類來處理。 1212 例如: 1213 //實例化一個 NSDateFormatter 對象 1214 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 1215 //設定時間格式,這里可以設置成自己需要的格式 1216 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 1217 //用[NSDate date]可以獲取系統當前時間 1218 NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]]; 1219 //輸出格式為:2010-10-27 10:22:13 1220 NSLog(@”%@”,currentDateStr); 1221 //alloc 后對不使用的對象別忘了 release 1222 [dateFormatter release]; 1223 UIView 設置成圓角方法 1224 m_mainImgView.layer.cornerRadius = 6; m_mainImgView.layer.masksToBounds = YES; 1225 iPhone 里的 frame 和 bounds 區別 1234 所有內存管理的原則全在這里! 1235 簡單??哈哈! 1236 名人曰:“大道至簡” 這兒玩意兒說起來比過家家還容易,但其實有些事情真正做起來并不是簡單的事兒~~ 1237 咱們首先來說怎么樣才能成為一個對象的擁有者。Cocoa 提供了一個機制叫"reference counting",翻譯過來就是“關聯記數器”(自己翻譯的,真不知叫啥,如果有官方的翻譯請 通知我)。每一個對象都有一個關聯記數的值。當它被創建時,它的值為“1”。當值減少到 “0”時,就會被回收(調用它的 deallocate 方法,如果沒有寫,則調用從 NSObject 繼承而來 的回收方法,下文有說,一定要重寫該方法)。以下幾個方法可以操作這個記數: 1238 1,alloc 為對象分配內存,記數設為“1”,并返回此對象。 1239 2,copy 復制一個對象,此對象記數為“1”,返回此對象。你將成為此克隆對象的擁有者 1240 3,retain 對象“關聯記數”加“1”,并成為此對象的擁有者。 1241 4,release 對象“關聯記數”減“1”,并丟掉此對象。 1242 5,autorelease 在未來的某一時刻,對象“關聯記數”減“1”。并在未來的某個時間放棄此對象。 1243 有了上面的幾個方法(當然這也是所有的內存操作的方法,簡單吧,哈哈哈)你就可 以隨意操作一個對象的記數。并部分或完全的控制它的生命周期。但實際應用中,隨意亂寫 上面的任何一個方法都可能會帶來嚴重的內存泄露。混亂的內存分配等于沒完沒了的麻煩工 作,你不想在情人節的日子還在為記數之類的鳥問題而丟了老婆吧~~哈哈哈,為了美麗溫 柔賢惠又善解人意的準老婆請牢記以下四條: 1244 1,一個代碼塊內要確保 copy, alloc 和 retain 的使用數量與 release 和 autorelease 的 數量。 1245 2,在使用以“alloc”或“new”開頭或包含“copy”的方法,或“retain”一個對象時, 你就會變為它的擁有者。 1247 3,實現“dealloc”方法,并施放所有的實例變量。(其實這里還有很多的巧兒門!!) 4,永不自己調用“dealloc”方法,這是系統當“retain”減到“0”時,自動調用的。 1248 手動調用會引起 retain count 記數錯誤(多一次的 release)。 其實做到這些也不難, 1249 retain count 增加與減少的方法對應,板丁板做到了就行了。 來自:http://blog.csdn.net/dboylx/archive/2009/02/13/3888746.aspx iphone 更改鍵盤右下角按鍵的 type 1250 以 UISearchBar 為例。 1251 創建 mySearchBar: 1252 mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, SEARCH_HEIGHT)]; 1253 mySearchBar.placeholder = curPath; [mySearchBar setDelegate:self]; //tableView.tableHeaderView =mySearchBar; [self.view addSubview:mySearchBar]; 1254 0,320, 1255 更改按鍵的 keyType(默認是 return,這里將它更改成 done,當然還可以更改成其他的): UITextField *searchField = [[mySearchBar subviews] lastObject]; 1256 [searchField setReturnKeyType:UIReturnKeyDone]; 1257 [mySearchBar release];

?

轉載于:https://www.cnblogs.com/Ruby-Hua/p/5134995.html

總結

以上是生活随笔為你收集整理的之前总结的今天给大分享一下iOS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久免费精品国产 | 日产精品99久久久久久 | 精品国产成人一区二区三区 | 乱中年女人伦av三区 | 无码成人精品区在线观看 | 精品久久久无码中文字幕 | 亚洲码国产精品高潮在线 | 麻豆国产丝袜白领秘书在线观看 | 女人被爽到呻吟gif动态图视看 | 娇妻被黑人粗大高潮白浆 | 成 人 网 站国产免费观看 | 乱人伦人妻中文字幕无码 | 无码毛片视频一区二区本码 | 国产成人午夜福利在线播放 | 午夜福利试看120秒体验区 | 激情内射日本一区二区三区 | a在线亚洲男人的天堂 | 漂亮人妻洗澡被公强 日日躁 | 国产成人午夜福利在线播放 | 亚洲aⅴ无码成人网站国产app | 中文字幕日产无线码一区 | 中文亚洲成a人片在线观看 | 老头边吃奶边弄进去呻吟 | 永久免费精品精品永久-夜色 | 人人妻人人澡人人爽欧美一区九九 | 人人妻人人澡人人爽欧美一区九九 | 精品国产aⅴ无码一区二区 | 极品尤物被啪到呻吟喷水 | 色诱久久久久综合网ywww | 亚洲一区二区观看播放 | 男女下面进入的视频免费午夜 | 福利一区二区三区视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国语精品一区二区三区 | 人妻天天爽夜夜爽一区二区 | 人妻夜夜爽天天爽三区 | 国产suv精品一区二区五 | 国产精品亚洲综合色区韩国 | 久久人人爽人人爽人人片av高清 | 国产高潮视频在线观看 | 99久久久无码国产精品免费 | 18黄暴禁片在线观看 | 伊人色综合久久天天小片 | 日本va欧美va欧美va精品 | 人人妻人人澡人人爽人人精品浪潮 | 国产免费久久久久久无码 | 高清无码午夜福利视频 | 国产极品视觉盛宴 | 国产精品永久免费视频 | 老子影院午夜伦不卡 | 初尝人妻少妇中文字幕 | 青青青手机频在线观看 | 女人和拘做爰正片视频 | 日韩欧美中文字幕公布 | 人人爽人人爽人人片av亚洲 | 国产激情一区二区三区 | 日本一本二本三区免费 | 粗大的内捧猛烈进出视频 | 激情内射日本一区二区三区 | 久9re热视频这里只有精品 | 国产亚洲精品久久久久久久久动漫 | 精品国偷自产在线视频 | 久久久久亚洲精品中文字幕 | 97夜夜澡人人爽人人喊中国片 | 久久国产精品萌白酱免费 | 色偷偷人人澡人人爽人人模 | 少妇高潮喷潮久久久影院 | 人人妻人人藻人人爽欧美一区 | 特大黑人娇小亚洲女 | 亚洲va欧美va天堂v国产综合 | 成人av无码一区二区三区 | 亚洲国精产品一二二线 | 欧美老妇与禽交 | 久久精品人妻少妇一区二区三区 | 欧美 日韩 亚洲 在线 | 性史性农村dvd毛片 | 亚洲а∨天堂久久精品2021 | 欧美亚洲国产一区二区三区 | 婷婷色婷婷开心五月四房播播 | 中文字幕无码日韩专区 | 高清不卡一区二区三区 | 国产日产欧产精品精品app | 狠狠色欧美亚洲狠狠色www | 国产香蕉尹人综合在线观看 | 日韩av无码中文无码电影 | 无码人妻丰满熟妇区毛片18 | 国产办公室秘书无码精品99 | 亚洲毛片av日韩av无码 | 国产超级va在线观看视频 | 久久精品丝袜高跟鞋 | 日本精品久久久久中文字幕 | 人妻无码αv中文字幕久久琪琪布 | 一区二区传媒有限公司 | 亚洲啪av永久无码精品放毛片 | 午夜精品久久久久久久 | 欧美午夜特黄aaaaaa片 | 亚洲欧美日韩国产精品一区二区 | 天天摸天天透天天添 | 国产午夜无码视频在线观看 | 狠狠色欧美亚洲狠狠色www | 99久久人妻精品免费二区 | 久久久久久国产精品无码下载 | 久久亚洲中文字幕无码 | 亚洲精品美女久久久久久久 | 无码人妻久久一区二区三区不卡 | 国产日产欧产精品精品app | 国产亚洲精品久久久久久国模美 | 久久 国产 尿 小便 嘘嘘 | 免费人成在线观看网站 | 在线精品国产一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 999久久久国产精品消防器材 | 日韩亚洲欧美中文高清在线 | 日本爽爽爽爽爽爽在线观看免 | 国产肉丝袜在线观看 | 国产精品永久免费视频 | 中文无码成人免费视频在线观看 | 国产成人无码av在线影院 | 国产97人人超碰caoprom | 一本加勒比波多野结衣 | 亚洲の无码国产の无码步美 | 日本大香伊一区二区三区 | 国产97人人超碰caoprom | 亚洲天堂2017无码中文 | 装睡被陌生人摸出水好爽 | √8天堂资源地址中文在线 | av在线亚洲欧洲日产一区二区 | 久久亚洲日韩精品一区二区三区 | 亚洲啪av永久无码精品放毛片 | 亚洲成a人片在线观看无码 | 奇米影视888欧美在线观看 | 欧美国产日韩亚洲中文 | 天海翼激烈高潮到腰振不止 | 日本一本二本三区免费 | 国产特级毛片aaaaaaa高清 | 国产又爽又猛又粗的视频a片 | 午夜男女很黄的视频 | 国产免费久久精品国产传媒 | 欧美人与物videos另类 | 在线天堂新版最新版在线8 | 国产成人精品三级麻豆 | av人摸人人人澡人人超碰下载 | 欧美国产日韩亚洲中文 | 亚洲无人区一区二区三区 | 丰腴饱满的极品熟妇 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产麻豆精品一区二区三区v视界 | 日韩精品久久久肉伦网站 | 久久国产精品偷任你爽任你 | 红桃av一区二区三区在线无码av | 俄罗斯老熟妇色xxxx | 夜夜躁日日躁狠狠久久av | 亚洲精品综合五月久久小说 | 欧美性生交xxxxx久久久 | 高潮喷水的毛片 | 大乳丰满人妻中文字幕日本 | 精品夜夜澡人妻无码av蜜桃 | 欧美国产亚洲日韩在线二区 | 草草网站影院白丝内射 | 久久亚洲中文字幕精品一区 | 精品欧洲av无码一区二区三区 | 性色av无码免费一区二区三区 | 76少妇精品导航 | 国产精品无码永久免费888 | 亚洲国产精品美女久久久久 | 久久久久99精品国产片 | 亚洲欧洲中文日韩av乱码 | 又色又爽又黄的美女裸体网站 | 亚洲日韩乱码中文无码蜜桃臀网站 | 日韩欧美成人免费观看 | 精品乱码久久久久久久 | 捆绑白丝粉色jk震动捧喷白浆 | 在线亚洲高清揄拍自拍一品区 | 久久99热只有频精品8 | 亚洲日本va中文字幕 | 永久黄网站色视频免费直播 | 青春草在线视频免费观看 | 国产成人人人97超碰超爽8 | 色婷婷欧美在线播放内射 | 国产精品人妻一区二区三区四 | 在线亚洲高清揄拍自拍一品区 | 中文字幕无码热在线视频 | 一二三四社区在线中文视频 | 亚洲国产成人a精品不卡在线 | 真人与拘做受免费视频一 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 日韩欧美群交p片內射中文 | 国模大胆一区二区三区 | 清纯唯美经典一区二区 | 男女爱爱好爽视频免费看 | 日韩视频 中文字幕 视频一区 | 奇米影视7777久久精品 | 亚洲欧美色中文字幕在线 | 欧美丰满熟妇xxxx性ppx人交 | 国产成人无码专区 | 特黄特色大片免费播放器图片 | 精品国精品国产自在久国产87 | 欧美日韩视频无码一区二区三 | 精品午夜福利在线观看 | 色噜噜亚洲男人的天堂 | 在线观看国产一区二区三区 | 精品无码国产一区二区三区av | 婷婷色婷婷开心五月四房播播 | 国产熟妇高潮叫床视频播放 | 99riav国产精品视频 | 午夜福利试看120秒体验区 | 亚洲区小说区激情区图片区 | 捆绑白丝粉色jk震动捧喷白浆 | 日本在线高清不卡免费播放 | 久久无码人妻影院 | 日本成熟视频免费视频 | 中文毛片无遮挡高清免费 | 成人三级无码视频在线观看 | 亚洲国产精品久久久久久 | 亚洲综合另类小说色区 | 夫妻免费无码v看片 | 成人欧美一区二区三区 | 97久久精品无码一区二区 | 亚洲人交乣女bbw | 国产一区二区不卡老阿姨 | 国产综合在线观看 | 曰韩少妇内射免费播放 | 日本熟妇人妻xxxxx人hd | 亚洲午夜久久久影院 | 久久亚洲精品中文字幕无男同 | 精品厕所偷拍各类美女tp嘘嘘 | 久久精品中文字幕一区 | 成人影院yy111111在线观看 | 小泽玛莉亚一区二区视频在线 | 六月丁香婷婷色狠狠久久 | 中国女人内谢69xxxxxa片 | 思思久久99热只有频精品66 | 国产在线精品一区二区高清不卡 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 麻豆精品国产精华精华液好用吗 | 老熟妇乱子伦牲交视频 | 久久久中文字幕日本无吗 | 色噜噜亚洲男人的天堂 | 在线观看国产一区二区三区 | 国产又爽又黄又刺激的视频 | 亚洲欧洲日本综合aⅴ在线 | 曰本女人与公拘交酡免费视频 | 亚洲一区二区三区四区 | 帮老师解开蕾丝奶罩吸乳网站 | 色综合视频一区二区三区 | 久久久婷婷五月亚洲97号色 | 牛和人交xxxx欧美 | 婷婷综合久久中文字幕蜜桃三电影 | 真人与拘做受免费视频一 | 国产99久久精品一区二区 | 67194成是人免费无码 | 色婷婷香蕉在线一区二区 | 欧美老熟妇乱xxxxx | 成人欧美一区二区三区 | 色综合视频一区二区三区 | 亚洲精品久久久久久久久久久 | 中文字幕无码视频专区 | 无码av最新清无码专区吞精 | 九月婷婷人人澡人人添人人爽 | 国产成人精品三级麻豆 | 亚洲の无码国产の无码影院 | 少妇久久久久久人妻无码 | 亚洲欧美日韩国产精品一区二区 | 人人妻人人澡人人爽人人精品浪潮 | 国产精品无码mv在线观看 | 国产亚洲人成a在线v网站 | 国产xxx69麻豆国语对白 | 大屁股大乳丰满人妻 | 亚洲最大成人网站 | 麻豆蜜桃av蜜臀av色欲av | 国产九九九九九九九a片 | 国产精品多人p群无码 | 色老头在线一区二区三区 | 欧美性猛交内射兽交老熟妇 | 妺妺窝人体色www婷婷 | 亚洲综合伊人久久大杳蕉 | 国产色xx群视频射精 | 99久久亚洲精品无码毛片 | 国产偷国产偷精品高清尤物 | 国产日产欧产精品精品app | 人妻少妇精品无码专区二区 | 在线精品亚洲一区二区 | 中文字幕 人妻熟女 | 成人性做爰aaa片免费看不忠 | 大肉大捧一进一出视频出来呀 | 国产精华av午夜在线观看 | 欧美人与物videos另类 | 国产精品人人爽人人做我的可爱 | 男女爱爱好爽视频免费看 | 大地资源中文第3页 | 亚洲精品综合五月久久小说 | 久久精品视频在线看15 | 东京热无码av男人的天堂 | 欧美freesex黑人又粗又大 | 亚洲日韩乱码中文无码蜜桃臀网站 | 伊在人天堂亚洲香蕉精品区 | 97精品国产97久久久久久免费 | 啦啦啦www在线观看免费视频 | 亚洲中文字幕无码一久久区 | 亚洲 高清 成人 动漫 | 无码国产色欲xxxxx视频 | 欧美喷潮久久久xxxxx | 久久 国产 尿 小便 嘘嘘 | 精品国产青草久久久久福利 | 国产精品igao视频网 | 国精品人妻无码一区二区三区蜜柚 | 麻豆精品国产精华精华液好用吗 | 欧美日韩一区二区综合 | 亚洲男人av香蕉爽爽爽爽 | 国产一区二区三区影院 | 国产成人精品必看 | 中文字幕无码免费久久99 | 日日夜夜撸啊撸 | 成人性做爰aaa片免费看不忠 | 在线播放免费人成毛片乱码 | 日韩精品久久久肉伦网站 | 国产9 9在线 | 中文 | 在教室伦流澡到高潮hnp视频 | 九九久久精品国产免费看小说 | 六月丁香婷婷色狠狠久久 | 亚洲成a人一区二区三区 | 牛和人交xxxx欧美 | 亚洲中文无码av永久不收费 | 久久天天躁狠狠躁夜夜免费观看 | 俺去俺来也在线www色官网 | 亚洲色大成网站www国产 | 一区二区传媒有限公司 | 2019nv天堂香蕉在线观看 | 任你躁在线精品免费 | 国产精品美女久久久网av | 丰满妇女强制高潮18xxxx | 扒开双腿疯狂进出爽爽爽视频 | 亚洲综合另类小说色区 | 国产精品嫩草久久久久 | 精品无码一区二区三区爱欲 | 一本一道久久综合久久 | 又粗又大又硬毛片免费看 | 亚洲高清偷拍一区二区三区 | 少妇人妻av毛片在线看 | 日本精品人妻无码免费大全 | 99国产欧美久久久精品 | 高潮喷水的毛片 | 最近免费中文字幕中文高清百度 | 国产精品久久久久无码av色戒 | 麻豆md0077饥渴少妇 | 欧洲精品码一区二区三区免费看 | 99久久婷婷国产综合精品青草免费 | 成人欧美一区二区三区 | 精品国产乱码久久久久乱码 | 亚洲欧洲无卡二区视頻 | 天堂久久天堂av色综合 | 正在播放东北夫妻内射 | 国产激情精品一区二区三区 | 国产一区二区三区精品视频 | 久久久久亚洲精品男人的天堂 | 欧美日韩精品 | 一区二区传媒有限公司 | 在线看片无码永久免费视频 | 亚洲精品一区二区三区婷婷月 | 亚洲 日韩 欧美 成人 在线观看 | 无遮挡啪啪摇乳动态图 | 国产乱人无码伦av在线a | 欧美三级a做爰在线观看 | 男人和女人高潮免费网站 | 久久无码专区国产精品s | 久激情内射婷内射蜜桃人妖 | 精品国产麻豆免费人成网站 | 亚洲欧洲无卡二区视頻 | 亚洲熟妇色xxxxx欧美老妇y | 99久久精品日本一区二区免费 | 捆绑白丝粉色jk震动捧喷白浆 | 久久99久久99精品中文字幕 | 欧美亚洲国产一区二区三区 | 又色又爽又黄的美女裸体网站 | 成人无码视频在线观看网站 | 精品午夜福利在线观看 | 日本一区二区更新不卡 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲国产成人av在线观看 | 国产精品人人妻人人爽 | 中文字幕 人妻熟女 | 中国大陆精品视频xxxx | 18禁黄网站男男禁片免费观看 | 精品国产av色一区二区深夜久久 | 玩弄少妇高潮ⅹxxxyw | 在线精品亚洲一区二区 | 成人三级无码视频在线观看 | 久久国语露脸国产精品电影 | 婷婷色婷婷开心五月四房播播 | 国产人妻大战黑人第1集 | 精品欧美一区二区三区久久久 | 久久久婷婷五月亚洲97号色 | 国产精品国产三级国产专播 | 国产亚洲精品精品国产亚洲综合 | 少妇性l交大片欧洲热妇乱xxx | av小次郎收藏 | 国产精品久久久久久亚洲影视内衣 | 在线精品国产一区二区三区 | 巨爆乳无码视频在线观看 | 精品国产一区av天美传媒 | 无遮挡国产高潮视频免费观看 | 国产乱子伦视频在线播放 | 亚洲精品美女久久久久久久 | 波多野结衣乳巨码无在线观看 | 中文字幕无码视频专区 | 色一情一乱一伦一区二区三欧美 | 亚洲の无码国产の无码步美 | 国产精品亚洲综合色区韩国 | 两性色午夜视频免费播放 | 欧美丰满老熟妇xxxxx性 | 色综合久久88色综合天天 | 亚洲日本va午夜在线电影 | 国产手机在线αⅴ片无码观看 | 久久久久久av无码免费看大片 | 在线观看欧美一区二区三区 | 日韩亚洲欧美中文高清在线 | 亚洲毛片av日韩av无码 | 日韩无套无码精品 | 亚洲日韩乱码中文无码蜜桃臀网站 | 在线а√天堂中文官网 | 国产精品久久久久9999小说 | 亚洲gv猛男gv无码男同 | 亚洲成a人片在线观看日本 | www国产亚洲精品久久久日本 | 久久午夜无码鲁丝片午夜精品 | 亚洲中文字幕成人无码 | 美女扒开屁股让男人桶 | 天天拍夜夜添久久精品 | 欧美三级a做爰在线观看 | 蜜桃臀无码内射一区二区三区 | 中文字幕日产无线码一区 | 日本又色又爽又黄的a片18禁 | 特大黑人娇小亚洲女 | 亚洲国产综合无码一区 | 国产精品无码永久免费888 | 黑人玩弄人妻中文在线 | av无码不卡在线观看免费 | 免费观看激色视频网站 | 色婷婷av一区二区三区之红樱桃 | www国产精品内射老师 | 香港三级日本三级妇三级 | 国产精品18久久久久久麻辣 | 久久精品女人的天堂av | 欧美熟妇另类久久久久久多毛 | 又紧又大又爽精品一区二区 | 国产成人av免费观看 | 国产美女极度色诱视频www | 少妇高潮一区二区三区99 | 樱花草在线社区www | 久久精品人人做人人综合 | 亚洲欧美日韩成人高清在线一区 | 国产 精品 自在自线 | 日产精品高潮呻吟av久久 | 亚洲色偷偷偷综合网 | 久久精品中文字幕大胸 | 人人妻人人澡人人爽精品欧美 | 色情久久久av熟女人妻网站 | 精品乱码久久久久久久 | 久久国产精品二国产精品 | 亚洲欧美精品伊人久久 | av无码久久久久不卡免费网站 | 六十路熟妇乱子伦 | 国产另类ts人妖一区二区 | 中文字幕av无码一区二区三区电影 | 少妇的肉体aa片免费 | 性生交大片免费看l | 俄罗斯老熟妇色xxxx | 亚洲国产精品一区二区第一页 | 4hu四虎永久在线观看 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 老司机亚洲精品影院 | 好爽又高潮了毛片免费下载 | 在教室伦流澡到高潮hnp视频 | 精品欧洲av无码一区二区三区 | 亚洲第一网站男人都懂 | 亚洲乱码国产乱码精品精 | 在线观看国产一区二区三区 | 久久久久免费看成人影片 | 红桃av一区二区三区在线无码av | 国产av人人夜夜澡人人爽麻豆 | 性欧美疯狂xxxxbbbb | 亚洲第一无码av无码专区 | 久久久亚洲欧洲日产国码αv | 无套内谢的新婚少妇国语播放 | 亚洲精品无码人妻无码 | 国产精品嫩草久久久久 | 无码国产乱人伦偷精品视频 | 久久国语露脸国产精品电影 | 亚洲日韩一区二区三区 | 色综合久久久无码网中文 | 国产在热线精品视频 | 日本精品久久久久中文字幕 | 欧美精品国产综合久久 | 在线成人www免费观看视频 | 人人澡人人妻人人爽人人蜜桃 | 国产午夜亚洲精品不卡 | 18精品久久久无码午夜福利 | 无码人妻精品一区二区三区不卡 | 网友自拍区视频精品 | 夜夜影院未满十八勿进 | 日日碰狠狠丁香久燥 | 少妇被粗大的猛进出69影院 | 国产午夜手机精彩视频 | 呦交小u女精品视频 | 99精品无人区乱码1区2区3区 | 欧美三级不卡在线观看 | 夜夜躁日日躁狠狠久久av | 一区二区三区高清视频一 | 成人免费视频一区二区 | 中文毛片无遮挡高清免费 | 色一情一乱一伦一视频免费看 | 99精品无人区乱码1区2区3区 | 99riav国产精品视频 | 正在播放老肥熟妇露脸 | 久久久www成人免费毛片 | 久久综合狠狠综合久久综合88 | 精品夜夜澡人妻无码av蜜桃 | 国产成人无码a区在线观看视频app | 国产熟妇另类久久久久 | 久青草影院在线观看国产 | 国产美女精品一区二区三区 | 久久亚洲中文字幕无码 | 婷婷综合久久中文字幕蜜桃三电影 | 国产成人一区二区三区在线观看 | 亚洲中文字幕在线观看 | 国产色在线 | 国产 | 亚洲天堂2017无码 | 久久国产精品_国产精品 | 精品无码一区二区三区爱欲 | 欧美日本免费一区二区三区 | 99麻豆久久久国产精品免费 | 日韩成人一区二区三区在线观看 | 国产精品无码一区二区三区不卡 | 欧美丰满老熟妇xxxxx性 | 日日麻批免费40分钟无码 | 亚洲精品国产第一综合99久久 | 狠狠色欧美亚洲狠狠色www | 麻豆md0077饥渴少妇 | 欧美性黑人极品hd | 国产亚洲精品久久久久久国模美 | 97无码免费人妻超级碰碰夜夜 | 国产成人无码午夜视频在线观看 | 九九久久精品国产免费看小说 | 亚洲日韩av一区二区三区四区 | 亚洲中文无码av永久不收费 | 国产精品二区一区二区aⅴ污介绍 | 亚洲精品国产a久久久久久 | 久久www免费人成人片 | 真人与拘做受免费视频一 | 丝袜人妻一区二区三区 | www一区二区www免费 | 黑人巨大精品欧美黑寡妇 | 对白脏话肉麻粗话av | 丰满少妇高潮惨叫视频 | 夫妻免费无码v看片 | 熟妇人妻激情偷爽文 | 久久人人爽人人人人片 | 日日麻批免费40分钟无码 | 日本乱偷人妻中文字幕 | 欧美三级a做爰在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 欧美黑人乱大交 | 亚洲国产精品一区二区美利坚 | 人妻无码αv中文字幕久久琪琪布 | 最新国产麻豆aⅴ精品无码 | 久久99精品国产.久久久久 | 国产综合久久久久鬼色 | 国产精品沙发午睡系列 | 无码国产色欲xxxxx视频 | a在线观看免费网站大全 | 俺去俺来也www色官网 | 女人和拘做爰正片视频 | 成人试看120秒体验区 | 美女张开腿让人桶 | 性生交大片免费看女人按摩摩 | 四虎影视成人永久免费观看视频 | 在教室伦流澡到高潮hnp视频 | 久久天天躁夜夜躁狠狠 | 人妻中文无码久热丝袜 | 在线精品国产一区二区三区 | 亚洲精品国产精品乱码视色 | 荫蒂被男人添的好舒服爽免费视频 | av无码不卡在线观看免费 | 亚洲狠狠色丁香婷婷综合 | 无码中文字幕色专区 | 超碰97人人做人人爱少妇 | 无码一区二区三区在线 | 国产一区二区不卡老阿姨 | www成人国产高清内射 | 国产精品永久免费视频 | 欧美 日韩 人妻 高清 中文 | 无码人妻出轨黑人中文字幕 | 国产无套内射久久久国产 | 亚洲狠狠婷婷综合久久 | 18无码粉嫩小泬无套在线观看 | 狠狠色色综合网站 | 亚洲天堂2017无码中文 | 亚洲日韩一区二区 | 亚洲成av人在线观看网址 | ass日本丰满熟妇pics | 亚洲中文字幕无码一久久区 | 久久久久国色av免费观看性色 | 亚洲成色www久久网站 | 久久亚洲日韩精品一区二区三区 | 久久久久av无码免费网 | aa片在线观看视频在线播放 | 亚洲精品久久久久avwww潮水 | 国产人妖乱国产精品人妖 | 亚洲国产高清在线观看视频 | 国产免费久久精品国产传媒 | 精品国产乱码久久久久乱码 | 日本精品久久久久中文字幕 | 日韩成人一区二区三区在线观看 | 高中生自慰www网站 | 强奷人妻日本中文字幕 | 日本大香伊一区二区三区 | 午夜精品一区二区三区的区别 | 午夜精品久久久内射近拍高清 | 国产电影无码午夜在线播放 | 人妻天天爽夜夜爽一区二区 | 永久黄网站色视频免费直播 | 国产成人av免费观看 | 亚洲精品鲁一鲁一区二区三区 | 18黄暴禁片在线观看 | 亚洲成av人片在线观看无码不卡 | 日本熟妇人妻xxxxx人hd | 扒开双腿疯狂进出爽爽爽视频 | 中国女人内谢69xxxx | 久久天天躁狠狠躁夜夜免费观看 | 内射老妇bbwx0c0ck | 国产av人人夜夜澡人人爽麻豆 | 亚洲va欧美va天堂v国产综合 | 一本大道久久东京热无码av | 亚洲第一网站男人都懂 | 亚洲成在人网站无码天堂 | 97色伦图片97综合影院 | 亚洲の无码国产の无码步美 | 亚洲日韩中文字幕在线播放 | 国产色xx群视频射精 | 无码一区二区三区在线 | 欧美老熟妇乱xxxxx | 久久99久久99精品中文字幕 | 欧美日韩一区二区三区自拍 | 麻花豆传媒剧国产免费mv在线 | 波多野结衣aⅴ在线 | 久久精品国产99久久6动漫 | 99国产欧美久久久精品 | 国产精品视频免费播放 | 人人妻人人澡人人爽欧美一区 | 亚洲色大成网站www | 亚洲 欧美 激情 小说 另类 | 亚洲欧美中文字幕5发布 | 国产两女互慰高潮视频在线观看 | 国产精品久久久久影院嫩草 | 久久久中文久久久无码 | 伊人久久大香线蕉亚洲 | 一本色道久久综合亚洲精品不卡 | 精品国产aⅴ无码一区二区 | 强开小婷嫩苞又嫩又紧视频 | 国产成人无码区免费内射一片色欲 | 久久久www成人免费毛片 | 无码一区二区三区在线观看 | 国内精品久久毛片一区二区 | 亚洲狠狠色丁香婷婷综合 | 国产综合在线观看 | 俺去俺来也在线www色官网 | 国产亚洲视频中文字幕97精品 | 成年女人永久免费看片 | 99精品视频在线观看免费 | 精品国产成人一区二区三区 | 小鲜肉自慰网站xnxx | 亚洲午夜久久久影院 | 欧美午夜特黄aaaaaa片 | 少妇无码吹潮 | 成熟人妻av无码专区 | 亚洲一区二区三区在线观看网站 | 一本无码人妻在中文字幕免费 | 四虎影视成人永久免费观看视频 | 国产真人无遮挡作爱免费视频 | 色欲久久久天天天综合网精品 | 午夜福利不卡在线视频 | 欧美成人家庭影院 | 欧美亚洲国产一区二区三区 | 中文久久乱码一区二区 | 中文字幕乱码亚洲无线三区 | 亚洲精品一区二区三区在线观看 | 国产成人精品一区二区在线小狼 | 亚洲一区二区三区偷拍女厕 | 九月婷婷人人澡人人添人人爽 | 久久精品无码一区二区三区 | 国产偷自视频区视频 | 内射后入在线观看一区 | 亚洲国精产品一二二线 | 国产亚洲日韩欧美另类第八页 | 欧美成人免费全部网站 | 日韩 欧美 动漫 国产 制服 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久伊人色av天堂九九小黄鸭 | 中文字幕无码av激情不卡 | 久久zyz资源站无码中文动漫 | 九九久久精品国产免费看小说 | 久久精品中文闷骚内射 | 人妻无码αv中文字幕久久琪琪布 | 国产 精品 自在自线 | 亚洲精品国偷拍自产在线麻豆 | 国产精品多人p群无码 | 又粗又大又硬又长又爽 | 亚洲精品www久久久 | 久久久久久国产精品无码下载 | 国产在线精品一区二区高清不卡 | 久久亚洲中文字幕无码 | 国产农村乱对白刺激视频 | 国产美女精品一区二区三区 | av无码不卡在线观看免费 | 国产乱码精品一品二品 | 天天综合网天天综合色 | 又黄又爽又色的视频 | 久久 国产 尿 小便 嘘嘘 | av香港经典三级级 在线 | 亚洲欧美精品伊人久久 | 久激情内射婷内射蜜桃人妖 | 夫妻免费无码v看片 | 国产精品二区一区二区aⅴ污介绍 | 亚洲va中文字幕无码久久不卡 | 久久婷婷五月综合色国产香蕉 | 午夜精品久久久久久久 | 宝宝好涨水快流出来免费视频 | 中文字幕无码热在线视频 | 国产黄在线观看免费观看不卡 | 狠狠躁日日躁夜夜躁2020 | 99riav国产精品视频 | 精品国偷自产在线视频 | 午夜无码区在线观看 | 国产办公室秘书无码精品99 | 麻豆国产人妻欲求不满谁演的 | 成年美女黄网站色大免费全看 | 熟妇女人妻丰满少妇中文字幕 | 免费国产成人高清在线观看网站 | 国色天香社区在线视频 | 亚洲狠狠色丁香婷婷综合 | 精品久久久久久人妻无码中文字幕 | 99在线 | 亚洲 | 性欧美大战久久久久久久 | a片免费视频在线观看 | 激情内射日本一区二区三区 | 粉嫩少妇内射浓精videos | 久久久国产精品无码免费专区 | 亚洲熟妇色xxxxx亚洲 | 国产明星裸体无码xxxx视频 | 久久亚洲中文字幕精品一区 | 男人和女人高潮免费网站 | 久久精品国产一区二区三区 | 欧美肥老太牲交大战 | 亚洲一区av无码专区在线观看 | 精品欧洲av无码一区二区三区 | 欧美变态另类xxxx | 131美女爱做视频 | 国产真实夫妇视频 | 久久精品人人做人人综合 | 国产9 9在线 | 中文 | 日韩精品无码一本二本三本色 | 欧洲vodafone精品性 | 国产内射老熟女aaaa | 狠狠色丁香久久婷婷综合五月 | 国产福利视频一区二区 | 国产精品久久久久影院嫩草 | 性欧美videos高清精品 | 欧美freesex黑人又粗又大 | 一本久久a久久精品亚洲 | 四十如虎的丰满熟妇啪啪 | 亚洲精品久久久久久久久久久 | 又黄又爽又色的视频 | 少妇性荡欲午夜性开放视频剧场 | 成人影院yy111111在线观看 | 少妇性l交大片欧洲热妇乱xxx | 国产偷国产偷精品高清尤物 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 1000部夫妻午夜免费 | 欧美 日韩 人妻 高清 中文 | 熟女少妇人妻中文字幕 | 久久精品女人天堂av免费观看 | 装睡被陌生人摸出水好爽 | 日韩亚洲欧美中文高清在线 | 亚洲精品成人福利网站 | 欧美日韩一区二区三区自拍 | 中文字幕无线码免费人妻 | 欧美兽交xxxx×视频 | 久久久精品456亚洲影院 | 中文字幕乱码中文乱码51精品 | 亚洲欧美中文字幕5发布 | 国产两女互慰高潮视频在线观看 | 亚洲区欧美区综合区自拍区 | 久久综合给久久狠狠97色 | 欧洲精品码一区二区三区免费看 | 国产成人无码av一区二区 | 少妇激情av一区二区 | 久久天天躁狠狠躁夜夜免费观看 | 久久久久99精品成人片 | 亚洲中文字幕久久无码 | 久久国内精品自在自线 | 中文字幕乱码亚洲无线三区 | 少妇的肉体aa片免费 | 国产精品久久国产三级国 | 一个人看的www免费视频在线观看 | 天下第一社区视频www日本 | 性史性农村dvd毛片 | 国产免费久久精品国产传媒 | 亚洲精品久久久久久久久久久 | 俺去俺来也www色官网 | 无码乱肉视频免费大全合集 | 两性色午夜免费视频 | 在线欧美精品一区二区三区 | 国精品人妻无码一区二区三区蜜柚 | 亚洲国产午夜精品理论片 | 又大又硬又爽免费视频 | 最近免费中文字幕中文高清百度 | 2020久久香蕉国产线看观看 | a片在线免费观看 | 强辱丰满人妻hd中文字幕 | 欧洲欧美人成视频在线 | 日本精品人妻无码免费大全 | 国产精品久久久午夜夜伦鲁鲁 | 麻豆精产国品 | 乱中年女人伦av三区 | 亚洲成熟女人毛毛耸耸多 | 最新版天堂资源中文官网 | 午夜免费福利小电影 | 熟妇女人妻丰满少妇中文字幕 | 欧美喷潮久久久xxxxx | 国产精品沙发午睡系列 | 精品久久8x国产免费观看 | 老太婆性杂交欧美肥老太 | 性欧美牲交xxxxx视频 | 领导边摸边吃奶边做爽在线观看 | 国产99久久精品一区二区 | 欧美日本日韩 | 日韩av无码一区二区三区不卡 | 国产亚洲精品久久久闺蜜 | 中文字幕无码视频专区 | 乌克兰少妇性做爰 | 香蕉久久久久久av成人 | 一本色道久久综合狠狠躁 | 午夜精品久久久内射近拍高清 | 两性色午夜免费视频 | 国产一区二区不卡老阿姨 | 疯狂三人交性欧美 | 国产精品第一区揄拍无码 | 水蜜桃色314在线观看 | 国产极品视觉盛宴 | 人妻少妇被猛烈进入中文字幕 | 亚洲春色在线视频 | 99精品无人区乱码1区2区3区 | 欧美人与动性行为视频 | 日韩精品a片一区二区三区妖精 | 熟妇女人妻丰满少妇中文字幕 | 亚洲中文字幕av在天堂 | 国产肉丝袜在线观看 | 久久亚洲中文字幕精品一区 | 亚洲va欧美va天堂v国产综合 | 国产成人午夜福利在线播放 | 国产乱人伦偷精品视频 | 免费视频欧美无人区码 | 亚洲成熟女人毛毛耸耸多 | 小鲜肉自慰网站xnxx | 欧美老熟妇乱xxxxx | 国产人妻精品一区二区三区不卡 | 熟妇激情内射com | 国产成人人人97超碰超爽8 | 在线播放免费人成毛片乱码 | 久久久久国色av免费观看性色 | 狠狠色色综合网站 | 亚洲a无码综合a国产av中文 | 性欧美videos高清精品 | 国产av无码专区亚洲a∨毛片 | 九九综合va免费看 | 日本一本二本三区免费 | 亚洲熟女一区二区三区 | 久久久国产精品无码免费专区 | 国产人妻精品一区二区三区 | 亚洲小说图区综合在线 | 精品久久久无码人妻字幂 | 国产欧美熟妇另类久久久 | 国产综合色产在线精品 | 一本久久a久久精品亚洲 | 天海翼激烈高潮到腰振不止 | 日韩精品无码一本二本三本色 | 麻豆国产97在线 | 欧洲 | 中文字幕无码人妻少妇免费 | 无码av免费一区二区三区试看 | 亚洲国产精品美女久久久久 | 国产成人无码一二三区视频 | 国产精品多人p群无码 | 亚洲精品午夜无码电影网 | 国产精品二区一区二区aⅴ污介绍 | 乱人伦人妻中文字幕无码 | 欧美精品一区二区精品久久 | 成人无码视频免费播放 | 亚洲s色大片在线观看 | 性色av无码免费一区二区三区 | 撕开奶罩揉吮奶头视频 | 久久国产自偷自偷免费一区调 | 午夜精品久久久久久久 | 午夜精品久久久内射近拍高清 | 国精品人妻无码一区二区三区蜜柚 | 日韩亚洲欧美精品综合 | 日本精品人妻无码免费大全 | 精品无人国产偷自产在线 | 国产色xx群视频射精 | 人人妻人人澡人人爽人人精品浪潮 | 久久97精品久久久久久久不卡 | 狠狠色噜噜狠狠狠7777奇米 | 欧洲精品码一区二区三区免费看 | 超碰97人人射妻 | 人人妻人人澡人人爽人人精品浪潮 | 精品国产一区av天美传媒 | 午夜精品久久久内射近拍高清 | 牛和人交xxxx欧美 | 免费观看激色视频网站 | 国产麻豆精品一区二区三区v视界 | 人妻无码αv中文字幕久久琪琪布 | 任你躁国产自任一区二区三区 | 亚洲性无码av中文字幕 | 久久久久久久人妻无码中文字幕爆 | 午夜精品久久久内射近拍高清 | 嫩b人妻精品一区二区三区 | 久久精品中文闷骚内射 | 亚洲精品欧美二区三区中文字幕 | 人人妻人人澡人人爽欧美一区九九 | 婷婷色婷婷开心五月四房播播 | 又紧又大又爽精品一区二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美黑人性暴力猛交喷水 | 377p欧洲日本亚洲大胆 | 久久午夜无码鲁丝片 | 香蕉久久久久久av成人 | 精品人妻人人做人人爽 | 国产 浪潮av性色四虎 | 欧美日韩人成综合在线播放 | 国产特级毛片aaaaaa高潮流水 | 久久五月精品中文字幕 | 久久伊人色av天堂九九小黄鸭 | 欧美大屁股xxxxhd黑色 | 成人精品一区二区三区中文字幕 | 亚洲人成人无码网www国产 | 欧美熟妇另类久久久久久多毛 | 鲁大师影院在线观看 | √8天堂资源地址中文在线 | 女人被男人躁得好爽免费视频 | 久热国产vs视频在线观看 | 国产九九九九九九九a片 | 全球成人中文在线 | 欧美人与善在线com | 国产激情综合五月久久 | 狠狠cao日日穞夜夜穞av | 欧美日韩一区二区三区自拍 | 亚洲码国产精品高潮在线 | 日韩人妻无码一区二区三区久久99 | 亚洲一区av无码专区在线观看 | 亚洲国产精品无码久久久久高潮 | 女人被爽到呻吟gif动态图视看 | 欧美xxxxx精品 | 亚洲精品一区三区三区在线观看 | 国产色视频一区二区三区 | 日韩精品无码一区二区中文字幕 | 精品国产一区二区三区四区 | 久久久精品国产sm最大网站 | 精品国产乱码久久久久乱码 | 图片小说视频一区二区 | 2020最新国产自产精品 | 性欧美疯狂xxxxbbbb | 久久国产自偷自偷免费一区调 | 香蕉久久久久久av成人 | 日本欧美一区二区三区乱码 | 中文字幕 亚洲精品 第1页 | 女人高潮内射99精品 | 久久国语露脸国产精品电影 | 欧美自拍另类欧美综合图片区 | 国产亚洲精品久久久闺蜜 | 激情亚洲一区国产精品 | 国产精品久久久久久亚洲毛片 | 国产亚洲tv在线观看 | 亚洲另类伦春色综合小说 | 久久精品成人欧美大片 | 狠狠综合久久久久综合网 | 亚洲综合精品香蕉久久网 | 久久久久99精品国产片 | 亚洲の无码国产の无码影院 | 红桃av一区二区三区在线无码av | 欧美真人作爱免费视频 | 99久久久无码国产精品免费 | 亚洲一区二区三区偷拍女厕 | 99国产欧美久久久精品 | www国产亚洲精品久久网站 | 99久久亚洲精品无码毛片 | 国产尤物精品视频 | 曰韩少妇内射免费播放 | 波多野结衣av一区二区全免费观看 | 男人和女人高潮免费网站 | 欧美亚洲日韩国产人成在线播放 | 在线天堂新版最新版在线8 | 久久精品国产一区二区三区 | 日韩 欧美 动漫 国产 制服 | 波多野结衣 黑人 | 一个人免费观看的www视频 | 午夜精品久久久内射近拍高清 | a在线亚洲男人的天堂 | 亚洲日本在线电影 | 精品亚洲韩国一区二区三区 | 国产成人无码av在线影院 | av无码不卡在线观看免费 | 又大又黄又粗又爽的免费视频 | 98国产精品综合一区二区三区 | 国产尤物精品视频 | 精品国产成人一区二区三区 | 波多野结衣av在线观看 | 久久熟妇人妻午夜寂寞影院 | 激情内射日本一区二区三区 | 东京热无码av男人的天堂 | 成熟女人特级毛片www免费 | 日本饥渴人妻欲求不满 | 亚洲 a v无 码免 费 成 人 a v | 九一九色国产 | 国产精品久久福利网站 | 精品国产一区二区三区四区在线看 | 性色欲网站人妻丰满中文久久不卡 | 无码成人精品区在线观看 | 男女爱爱好爽视频免费看 | 99久久亚洲精品无码毛片 | 国产在线一区二区三区四区五区 | 中文字幕无码日韩专区 | 日韩欧美中文字幕公布 | 在线天堂新版最新版在线8 | 好男人www社区 | 亚洲国产欧美国产综合一区 | 成人aaa片一区国产精品 | 国产成人综合色在线观看网站 | 少妇久久久久久人妻无码 | 少妇无码吹潮 | yw尤物av无码国产在线观看 | 综合激情五月综合激情五月激情1 | 99久久久无码国产aaa精品 | 双乳奶水饱满少妇呻吟 | 欧美人与物videos另类 | 伊人久久大香线蕉午夜 | 亚洲中文字幕在线观看 | 日韩av无码中文无码电影 | 十八禁视频网站在线观看 | 美女扒开屁股让男人桶 | 久久久久人妻一区精品色欧美 | 亚洲欧美中文字幕5发布 | 成人女人看片免费视频放人 | 国产乱子伦视频在线播放 | 亚洲午夜福利在线观看 | 午夜成人1000部免费视频 | 无码人妻丰满熟妇区五十路百度 | 久久久精品人妻久久影视 | 国产精品-区区久久久狼 | 亚洲s码欧洲m码国产av | 最新国产乱人伦偷精品免费网站 | 国产亚洲精品久久久闺蜜 | 亚洲日韩av片在线观看 | 久精品国产欧美亚洲色aⅴ大片 | 久久久中文字幕日本无吗 | 亚欧洲精品在线视频免费观看 | 99精品无人区乱码1区2区3区 | 99久久久国产精品无码免费 | 久久午夜夜伦鲁鲁片无码免费 | 久久午夜无码鲁丝片午夜精品 | 免费无码av一区二区 | 熟女体下毛毛黑森林 | 2020久久香蕉国产线看观看 | 丰满人妻翻云覆雨呻吟视频 | 中文字幕无码日韩欧毛 | 性啪啪chinese东北女人 | 国产成人精品优优av | 中文字幕无码视频专区 | √天堂资源地址中文在线 | 一本色道婷婷久久欧美 | 99视频精品全部免费免费观看 | 51国偷自产一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 亚洲精品成人av在线 | 欧美国产日韩久久mv | 无码人妻精品一区二区三区不卡 | 久久国产精品萌白酱免费 | www国产精品内射老师 | 国产内射爽爽大片视频社区在线 | 国产成人无码av片在线观看不卡 | 日韩精品a片一区二区三区妖精 | 亚洲国产综合无码一区 | 亚洲 日韩 欧美 成人 在线观看 | 丝袜美腿亚洲一区二区 | 亚洲精品久久久久avwww潮水 | av在线亚洲欧洲日产一区二区 | 麻豆果冻传媒2021精品传媒一区下载 | 色诱久久久久综合网ywww | 动漫av网站免费观看 | 国产精品久久久一区二区三区 | 久久久久免费看成人影片 | 久久综合狠狠综合久久综合88 | 久久精品国产一区二区三区肥胖 | 久久精品国产日本波多野结衣 | 国产亚洲视频中文字幕97精品 | 无码福利日韩神码福利片 | 精品一二三区久久aaa片 | 亚洲一区二区三区 | 久在线观看福利视频 | 精品偷拍一区二区三区在线看 | 麻豆国产97在线 | 欧洲 | 国产乱人偷精品人妻a片 | 久久久久99精品国产片 | 人人妻人人澡人人爽精品欧美 | 天天av天天av天天透 | 欧美黑人乱大交 | 国产人妻精品午夜福利免费 | 亚洲人交乣女bbw | 人妻体内射精一区二区三四 | 99riav国产精品视频 | 亚洲一区二区三区 | 人妻aⅴ无码一区二区三区 | 人人爽人人爽人人片av亚洲 | 国产乱人偷精品人妻a片 | 四虎国产精品免费久久 | 纯爱无遮挡h肉动漫在线播放 | 日本精品人妻无码77777 天堂一区人妻无码 | 99久久人妻精品免费一区 | 少妇被粗大的猛进出69影院 | 国产成人精品优优av | 亚洲啪av永久无码精品放毛片 | 未满成年国产在线观看 | 亚洲经典千人经典日产 | www国产亚洲精品久久久日本 | 粉嫩少妇内射浓精videos | 欧美放荡的少妇 | 午夜肉伦伦影院 | 老熟女重囗味hdxx69 | 国产办公室秘书无码精品99 | 少妇性俱乐部纵欲狂欢电影 | a在线亚洲男人的天堂 | 免费国产黄网站在线观看 | 在线а√天堂中文官网 | 国产精品国产三级国产专播 | 色欲av亚洲一区无码少妇 | 午夜时刻免费入口 | 免费看少妇作爱视频 | 美女扒开屁股让男人桶 | 国产一区二区三区四区五区加勒比 | 日日天干夜夜狠狠爱 | 欧美黑人性暴力猛交喷水 | 亚洲国产精品无码久久久久高潮 | 成人一区二区免费视频 | 国产尤物精品视频 | 内射欧美老妇wbb | 人妻有码中文字幕在线 | 兔费看少妇性l交大片免费 | 蜜桃无码一区二区三区 | 国产两女互慰高潮视频在线观看 | 亚洲国精产品一二二线 | 亚洲中文字幕乱码av波多ji | 亚洲色欲色欲欲www在线 | 日日躁夜夜躁狠狠躁 | 亚洲精品久久久久久一区二区 | 色五月丁香五月综合五月 | 午夜嘿嘿嘿影院 | 欧美亚洲国产一区二区三区 | 久久久精品成人免费观看 | 亚洲人成网站色7799 | 人妻有码中文字幕在线 | 久久精品人人做人人综合 | 亚洲精品美女久久久久久久 | 欧美野外疯狂做受xxxx高潮 | 在线看片无码永久免费视频 | 亚洲中文字幕在线无码一区二区 | 大肉大捧一进一出视频出来呀 | 国产精品无套呻吟在线 | 中文字幕无码av波多野吉衣 | 亚洲va中文字幕无码久久不卡 | 成熟人妻av无码专区 | 久久精品视频在线看15 | 亚洲国产精华液网站w | 精品久久综合1区2区3区激情 | 欧美日本免费一区二区三区 | 高清无码午夜福利视频 | 麻豆蜜桃av蜜臀av色欲av | 国产乱子伦视频在线播放 | 国产婷婷色一区二区三区在线 | 亚洲综合伊人久久大杳蕉 | 天天躁夜夜躁狠狠是什么心态 | 无码人妻精品一区二区三区下载 | 亚洲 高清 成人 动漫 | 精品国偷自产在线 | 美女黄网站人色视频免费国产 | 婷婷五月综合缴情在线视频 | 久久国产精品萌白酱免费 | 中文字幕乱码人妻无码久久 | 午夜精品久久久内射近拍高清 | 永久免费观看国产裸体美女 | 日本高清一区免费中文视频 | 人妻人人添人妻人人爱 | 丰满护士巨好爽好大乳 | 十八禁真人啪啪免费网站 | av人摸人人人澡人人超碰下载 | yw尤物av无码国产在线观看 | 欧美乱妇无乱码大黄a片 | 国产日产欧产精品精品app | 亚洲精品综合一区二区三区在线 | 亚洲精品中文字幕乱码 | 日本大香伊一区二区三区 | 伊人久久婷婷五月综合97色 | 永久免费观看美女裸体的网站 | 久久精品国产大片免费观看 | 娇妻被黑人粗大高潮白浆 | 亚洲一区二区三区在线观看网站 | 亚洲欧美日韩成人高清在线一区 | 国产精品沙发午睡系列 | 亚洲精品一区二区三区在线观看 | 日韩精品无码一本二本三本色 | 久久综合狠狠综合久久综合88 | 性欧美大战久久久久久久 | 亚洲无人区一区二区三区 | 特黄特色大片免费播放器图片 | 国产特级毛片aaaaaa高潮流水 | 亚洲中文字幕无码中文字在线 | 丰满岳乱妇在线观看中字无码 | 亚洲综合伊人久久大杳蕉 | 久久99热只有频精品8 | 亚洲色欲色欲天天天www | 精品久久久无码中文字幕 | 午夜男女很黄的视频 | 亚洲精品一区国产 | 麻豆国产丝袜白领秘书在线观看 | 久久久久亚洲精品男人的天堂 | 强伦人妻一区二区三区视频18 | 永久免费观看美女裸体的网站 | 粉嫩少妇内射浓精videos | 女人被男人躁得好爽免费视频 | 两性色午夜免费视频 | 一二三四社区在线中文视频 | 水蜜桃色314在线观看 | 任你躁国产自任一区二区三区 | 激情内射亚州一区二区三区爱妻 | 久久精品99久久香蕉国产色戒 | 久久无码专区国产精品s | 日本大香伊一区二区三区 | 成人无码精品一区二区三区 | 狂野欧美激情性xxxx | 国产偷国产偷精品高清尤物 | 亚洲熟妇自偷自拍另类 | 欧美性黑人极品hd | 亚洲狠狠色丁香婷婷综合 | 国产成人无码av一区二区 | 无码人妻av免费一区二区三区 | www国产精品内射老师 | 丰满岳乱妇在线观看中字无码 | www成人国产高清内射 | 激情国产av做激情国产爱 | 国产精品高潮呻吟av久久 | 99re在线播放 | 亚洲欧美日韩国产精品一区二区 | 高清国产亚洲精品自在久久 | 亚洲精品欧美二区三区中文字幕 | 亚洲国产精品毛片av不卡在线 | 亚洲熟妇色xxxxx欧美老妇 | 岛国片人妻三上悠亚 | 精品熟女少妇av免费观看 | 精品人妻人人做人人爽 | 国产亚洲欧美日韩亚洲中文色 | 国内丰满熟女出轨videos | 亚洲精品成a人在线观看 | 国产国语老龄妇女a片 | 夜夜躁日日躁狠狠久久av | 成人一在线视频日韩国产 | 久久午夜无码鲁丝片秋霞 | 网友自拍区视频精品 | 国产av无码专区亚洲a∨毛片 | 亚洲欧美日韩综合久久久 | 亚洲色大成网站www | 亚洲综合无码一区二区三区 | 乌克兰少妇xxxx做受 | 又大又黄又粗又爽的免费视频 | 四十如虎的丰满熟妇啪啪 | 动漫av一区二区在线观看 | 欧美真人作爱免费视频 | 欧美性黑人极品hd | 国产午夜亚洲精品不卡 | 国产av无码专区亚洲awww | 中文字幕乱码中文乱码51精品 | 人人妻人人澡人人爽精品欧美 | 大肉大捧一进一出好爽视频 | 国产成人无码午夜视频在线观看 | 久久国产精品萌白酱免费 | 在线 国产 欧美 亚洲 天堂 | 欧美喷潮久久久xxxxx | 国产成人一区二区三区在线观看 | 亚拍精品一区二区三区探花 | www国产亚洲精品久久网站 | 亚洲人成影院在线观看 | 国产精品第一区揄拍无码 | 亚洲精品一区二区三区在线 | 伊人久久大香线蕉午夜 | 日韩精品无码免费一区二区三区 | 欧美肥老太牲交大战 | 精品国精品国产自在久国产87 | 无码精品国产va在线观看dvd | 成熟女人特级毛片www免费 | a在线亚洲男人的天堂 | 国产 精品 自在自线 | а√资源新版在线天堂 | 久久zyz资源站无码中文动漫 | 真人与拘做受免费视频 | 国产成人无码一二三区视频 | 日韩亚洲欧美中文高清在线 | 人妻与老人中文字幕 | 亚洲熟女一区二区三区 | 日日天干夜夜狠狠爱 | 学生妹亚洲一区二区 | 国内精品人妻无码久久久影院 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲一区二区三区含羞草 | 高潮毛片无遮挡高清免费 | 国产亚洲精品久久久久久国模美 | 亚洲精品一区三区三区在线观看 | 亚洲欧美日韩综合久久久 | 久9re热视频这里只有精品 | 对白脏话肉麻粗话av | 牛和人交xxxx欧美 | 成人欧美一区二区三区黑人免费 | 国产电影无码午夜在线播放 | 国产亚洲欧美日韩亚洲中文色 | 1000部夫妻午夜免费 | 久久人人爽人人爽人人片ⅴ | 午夜无码区在线观看 | 国产精品手机免费 | 亚洲中文字幕va福利 | 乱人伦人妻中文字幕无码久久网 | 美女张开腿让人桶 | 男女性色大片免费网站 | 日韩av无码中文无码电影 | 国语自产偷拍精品视频偷 | 思思久久99热只有频精品66 | 人人妻人人藻人人爽欧美一区 | 精品亚洲成av人在线观看 | 国产深夜福利视频在线 | 少妇一晚三次一区二区三区 | 久久综合给合久久狠狠狠97色 | 无套内谢的新婚少妇国语播放 | 装睡被陌生人摸出水好爽 | 亚洲欧美日韩综合久久久 | 国产亚洲tv在线观看 | 国产乱人偷精品人妻a片 | 人妻少妇精品视频专区 | 樱花草在线社区www | 丝袜美腿亚洲一区二区 | 国产亚洲精品久久久久久久 | 亚洲无人区午夜福利码高清完整版 | 清纯唯美经典一区二区 | 国产成人无码av片在线观看不卡 | 小sao货水好多真紧h无码视频 | 亚洲精品国产品国语在线观看 | 丰满岳乱妇在线观看中字无码 | 亚洲爆乳大丰满无码专区 | 久久综合给久久狠狠97色 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲日本在线电影 | 色综合久久中文娱乐网 | 国产成人无码专区 | 亚洲a无码综合a国产av中文 | 精品国产av色一区二区深夜久久 | 欧美zoozzooz性欧美 | 国产亚洲欧美日韩亚洲中文色 | aⅴ在线视频男人的天堂 | 中文字幕无码免费久久99 | 国产手机在线αⅴ片无码观看 | 亚洲小说春色综合另类 | 一本色道久久综合亚洲精品不卡 | 黑人巨大精品欧美黑寡妇 | 成人欧美一区二区三区黑人 | 扒开双腿疯狂进出爽爽爽视频 | 日日橹狠狠爱欧美视频 | 99视频精品全部免费免费观看 | 久久97精品久久久久久久不卡 | 亚洲狠狠色丁香婷婷综合 | 樱花草在线社区www | 亚洲春色在线视频 | 人妻与老人中文字幕 | 午夜理论片yy44880影院 | 精品一区二区三区无码免费视频 | 色情久久久av熟女人妻网站 | 99国产精品白浆在线观看免费 | 中文字幕无码av波多野吉衣 | 国产精品二区一区二区aⅴ污介绍 | 丰满少妇弄高潮了www | 又大又硬又黄的免费视频 | 亚洲成a人片在线观看日本 | 久久久久99精品国产片 | 久久无码中文字幕免费影院蜜桃 | 亚洲国产欧美日韩精品一区二区三区 | 97色伦图片97综合影院 | 久久视频在线观看精品 | 亚洲一区二区三区香蕉 | 日本一区二区三区免费播放 | 欧美乱妇无乱码大黄a片 | 日韩人妻系列无码专区 | 美女毛片一区二区三区四区 | 日本一区二区更新不卡 | 两性色午夜免费视频 | 欧美性生交xxxxx久久久 | 亚洲国产精品毛片av不卡在线 | 无码一区二区三区在线 | 初尝人妻少妇中文字幕 | 日本www一道久久久免费榴莲 | 伊人久久大香线焦av综合影院 | 美女扒开屁股让男人桶 | 婷婷六月久久综合丁香 | 久久精品国产99精品亚洲 | 国产艳妇av在线观看果冻传媒 | 少妇无码一区二区二三区 | 青青久在线视频免费观看 | 性生交大片免费看女人按摩摩 | 精品久久久无码人妻字幂 | 国产精品久久久 | 国内老熟妇对白xxxxhd | 少妇高潮喷潮久久久影院 | 欧美人妻一区二区三区 | 好男人社区资源 | 99麻豆久久久国产精品免费 | 日韩欧美群交p片內射中文 | 色婷婷香蕉在线一区二区 | 亚洲精品一区二区三区在线观看 | www国产精品内射老师 | 日韩亚洲欧美中文高清在线 | 天天av天天av天天透 | 久久99国产综合精品 | 性生交片免费无码看人 | 国产精品va在线播放 | 亚洲成a人片在线观看无码 | av香港经典三级级 在线 | 97精品人妻一区二区三区香蕉 | 亚洲欧美日韩成人高清在线一区 | 三级4级全黄60分钟 | 亚洲精品久久久久久一区二区 | 日产精品99久久久久久 | 国产精品久久国产精品99 | 久久精品人人做人人综合 | 国产午夜精品一区二区三区嫩草 | 99视频精品全部免费免费观看 | www国产精品内射老师 | 亚洲中文字幕av在天堂 | 一二三四社区在线中文视频 | 日本va欧美va欧美va精品 | 又色又爽又黄的美女裸体网站 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲熟妇色xxxxx亚洲 | 在线成人www免费观看视频 | 亚洲中文字幕av在天堂 | 国产99久久精品一区二区 | 精品无码一区二区三区爱欲 | 欧美丰满熟妇xxxx性ppx人交 | 无码免费一区二区三区 | 色欲av亚洲一区无码少妇 | 久久久久免费看成人影片 | 欧美国产日韩久久mv | 97人妻精品一区二区三区 | 欧美日韩人成综合在线播放 | 露脸叫床粗话东北少妇 | 欧美性黑人极品hd | 精品国产乱码久久久久乱码 | 少妇无套内谢久久久久 | 图片区 小说区 区 亚洲五月 | 激情亚洲一区国产精品 | 亚洲色www成人永久网址 | 国产精品久久精品三级 | 97se亚洲精品一区 | 欧美丰满熟妇xxxx | 亚洲一区二区三区偷拍女厕 | 97se亚洲精品一区 | 国产精品久免费的黄网站 | 久精品国产欧美亚洲色aⅴ大片 | 久激情内射婷内射蜜桃人妖 | 狂野欧美激情性xxxx | 天堂在线观看www | 国产激情艳情在线看视频 | 亚洲s色大片在线观看 | 国产欧美精品一区二区三区 | 国产亚av手机在线观看 | 日本va欧美va欧美va精品 | 亚洲中文字幕久久无码 | 亚洲国产成人av在线观看 | 女人被爽到呻吟gif动态图视看 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美性猛交内射兽交老熟妇 | 美女极度色诱视频国产 | 精品一区二区不卡无码av | 亚洲日韩av片在线观看 | 美女黄网站人色视频免费国产 | 久久 国产 尿 小便 嘘嘘 | 日韩亚洲欧美精品综合 | 欧美35页视频在线观看 | 人妻少妇精品无码专区二区 | 国内综合精品午夜久久资源 | 日韩人妻无码中文字幕视频 | 亚洲狠狠婷婷综合久久 | 真人与拘做受免费视频 | 老熟妇仑乱视频一区二区 | 久久人人爽人人爽人人片av高清 | 两性色午夜视频免费播放 | 国产精品沙发午睡系列 | 荫蒂被男人添的好舒服爽免费视频 | 日韩精品乱码av一区二区 | 国产在热线精品视频 | 国产乱码精品一品二品 | 日日鲁鲁鲁夜夜爽爽狠狠 | 超碰97人人做人人爱少妇 | 国产日产欧产精品精品app | 玩弄少妇高潮ⅹxxxyw | 黑人粗大猛烈进出高潮视频 | 精品国偷自产在线 | 国产超级va在线观看视频 | 中文字幕 亚洲精品 第1页 | 7777奇米四色成人眼影 | 乱人伦人妻中文字幕无码久久网 | 久久99精品国产.久久久久 | 国产97人人超碰caoprom | 国产精品国产三级国产专播 | 无遮挡啪啪摇乳动态图 | 国产精品永久免费视频 | 国产免费久久精品国产传媒 | 成 人 网 站国产免费观看 | 亚洲欧美国产精品久久 | 欧美精品一区二区精品久久 | 国产精华av午夜在线观看 | 中文字幕av无码一区二区三区电影 | 亚洲国产精品久久人人爱 | 一本加勒比波多野结衣 | 免费视频欧美无人区码 | 在线播放无码字幕亚洲 | 人人妻人人澡人人爽欧美一区 | 久久无码专区国产精品s | 97无码免费人妻超级碰碰夜夜 | 噜噜噜亚洲色成人网站 | 午夜成人1000部免费视频 | 成人片黄网站色大片免费观看 | 曰韩无码二三区中文字幕 | 成人亚洲精品久久久久 | 性生交大片免费看女人按摩摩 | 97精品国产97久久久久久免费 | 牲欲强的熟妇农村老妇女视频 | 夜夜影院未满十八勿进 | 免费视频欧美无人区码 | 国精产品一品二品国精品69xx | 漂亮人妻洗澡被公强 日日躁 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲精品一区三区三区在线观看 | 又粗又大又硬又长又爽 | 日本丰满熟妇videos | 国产色视频一区二区三区 | 双乳奶水饱满少妇呻吟 | 日本爽爽爽爽爽爽在线观看免 | 久久精品人人做人人综合试看 | 人人爽人人澡人人高潮 | 在线а√天堂中文官网 | 欧美成人家庭影院 | 国产美女精品一区二区三区 | 在线观看欧美一区二区三区 | 搡女人真爽免费视频大全 | 国产成人精品视频ⅴa片软件竹菊 | 中文字幕人妻无码一区二区三区 | 3d动漫精品啪啪一区二区中 | 精品久久久无码人妻字幂 | 欧美日韩久久久精品a片 | 亚拍精品一区二区三区探花 | 丰满少妇女裸体bbw | 欧美zoozzooz性欧美 | 亚洲大尺度无码无码专区 | 国产在线aaa片一区二区99 | 欧美放荡的少妇 | 97色伦图片97综合影院 | 性欧美牲交在线视频 | 亚洲人成影院在线无码按摩店 | 一区二区传媒有限公司 | 三级4级全黄60分钟 | 香港三级日本三级妇三级 | 亚洲中文字幕va福利 | 两性色午夜视频免费播放 | 亚洲热妇无码av在线播放 | 爽爽影院免费观看 | 国内老熟妇对白xxxxhd | 激情亚洲一区国产精品 | 国产偷自视频区视频 | 成人精品视频一区二区三区尤物 | 国产卡一卡二卡三 | 麻豆国产丝袜白领秘书在线观看 | 一二三四社区在线中文视频 | 女人被男人爽到呻吟的视频 | 亚洲综合精品香蕉久久网 | 精品无码一区二区三区爱欲 | 欧美人与物videos另类 | 亚洲成av人综合在线观看 | 天天爽夜夜爽夜夜爽 | 娇妻被黑人粗大高潮白浆 | 性生交片免费无码看人 | 综合人妻久久一区二区精品 | 欧美激情内射喷水高潮 | 精品欧洲av无码一区二区三区 | 97资源共享在线视频 | 国产色精品久久人妻 | 国产莉萝无码av在线播放 | 18无码粉嫩小泬无套在线观看 | 成人免费视频一区二区 | 精品一二三区久久aaa片 | 色噜噜亚洲男人的天堂 | 精品夜夜澡人妻无码av蜜桃 | 中文字幕无码av波多野吉衣 | 荡女精品导航 | 日本大乳高潮视频在线观看 | 图片区 小说区 区 亚洲五月 | 午夜丰满少妇性开放视频 | 无码精品国产va在线观看dvd | 2019nv天堂香蕉在线观看 | 无码人妻久久一区二区三区不卡 | 国产精品毛片一区二区 | 日本乱偷人妻中文字幕 | 亚洲综合另类小说色区 | 男女作爱免费网站 | 在教室伦流澡到高潮hnp视频 | 久久婷婷五月综合色国产香蕉 | 国产偷国产偷精品高清尤物 | 一本久久a久久精品vr综合 | 国产精品人人妻人人爽 | 欧美性猛交内射兽交老熟妇 | 乌克兰少妇性做爰 | 牲欲强的熟妇农村老妇女 | 久久久精品欧美一区二区免费 | 久久亚洲国产成人精品性色 | 人人超人人超碰超国产 | 日本成熟视频免费视频 | 狠狠色丁香久久婷婷综合五月 | 东京热男人av天堂 | 亚洲综合无码一区二区三区 | 大乳丰满人妻中文字幕日本 | 300部国产真实乱 | 97无码免费人妻超级碰碰夜夜 | 99国产精品白浆在线观看免费 | 午夜精品久久久久久久 | 亚洲精品国产品国语在线观看 | 性欧美牲交xxxxx视频 | 我要看www免费看插插视频 | 成 人 网 站国产免费观看 | 国产激情精品一区二区三区 | 国产精品久久久久9999小说 | 久久精品国产亚洲精品 | 性欧美牲交xxxxx视频 | 国产精品久久福利网站 | 精品国产一区二区三区四区 | 国产国产精品人在线视 | 在线观看国产午夜福利片 | 成人亚洲精品久久久久 | 人妻少妇精品无码专区二区 | 中文字幕中文有码在线 | 无码国产乱人伦偷精品视频 | 婷婷五月综合激情中文字幕 | 最近的中文字幕在线看视频 | 中国女人内谢69xxxxxa片 | 国产精品高潮呻吟av久久 | 中文精品久久久久人妻不卡 | 欧美猛少妇色xxxxx | 欧美真人作爱免费视频 | 中文字幕乱妇无码av在线 | 无码av免费一区二区三区试看 | 成人精品视频一区二区三区尤物 | 女人色极品影院 | 内射爽无广熟女亚洲 | 久久久精品欧美一区二区免费 | 十八禁视频网站在线观看 | 国产无遮挡又黄又爽免费视频 | 亚洲精品成人福利网站 |