self.myScrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
Π ΠΈΡ. 1.63. Π§Π΅ΡΠ½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ, ΠΏΠΎΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠΏΡΠ°Π²Π° ΠΈ ΡΠ½ΠΈΠ·Ρ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°
ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π²ΠΈΠ΄ΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅, Π½ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΊΠ° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Photos (Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ) Π² iPhone ΠΈΠ»ΠΈ iPad. ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠΊΠΎΠ»ΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΊΠΎΠ»ΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ. ΠΡΠΈ ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΠΎΠ»ΡΠΆΠ΅Π½ΠΈΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΠΈΠ»ΠΈ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°. ΠΠΎΠ³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΈΠ΄ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠΊΡΡΡΠΊΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΎΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ°Π³ΠΈΠ²Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π΅Π΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ. ΠΠ΅ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ΅Π½, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π΅ ΡΠ°Π·Π±ΠΈΠ²ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: iPhone, iPad ΠΈ MacBook Air. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠΈΠΏΠ° image view, Π° ΠΏΠΎΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΠΈ Π²ΠΈΠ΄Ρ ΠΊ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ Π²ΠΈΠ΄Ρ. ΠΠ°ΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°Π·Π±ΠΈΠ²ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π·Π°Π΄Π°Π²Π°Ρ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° pagingEnabled ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ YES:
β (UIImageView *) newImageViewWithImage:(UIImage *)paramImage
frame:(CGRect)paramFrame{
UIImageView *result = [[UIImageView alloc] initWithFrame: paramFrame];
result.contentMode = UIViewContentModeScaleAspectFit;
result.image = paramImage;
return result;
}
β (void)viewDidLoad{
[super viewDidLoad];
UIImage *iPhone = [UIImage imageNamed:@"iPhone"];
UIImage *iPad = [UIImage imageNamed:@"iPad"];
UIImage *macBookAir = [UIImage imageNamed:@"MacBookAir"];
CGRect scrollViewRect = self.view.bounds;
self.myScrollView = [[UIScrollView alloc] initWithFrame: scrollViewRect];
self.myScrollView.pagingEnabled = YES;
self.myScrollView.contentSize = CGSizeMake(scrollViewRect.size.width *
3.0f, scrollViewRect.size.height);
[self.view addSubview: self.myScrollView];
CGRect imageViewRect = self.view.bounds;
UIImageView *iPhoneImageView = [self newImageViewWithImage: iPhone
frame: imageViewRect];
[self.myScrollView addSubview: iPhoneImageView];
/* ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΎΡΠΈ X. */
imageViewRect.origin.x += imageViewRect.size.width;
UIImageView *iPadImageView = [self newImageViewWithImage: iPad
frame: imageViewRect];
[self.myScrollView addSubview: iPadImageView];
/* ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΎΡΠΈ X. */
imageViewRect.origin.x += imageViewRect.size.width;
UIImageView *macBookAirImageView =
[self newImageViewWithImage: macBookAir
frame: imageViewRect];
[self.myScrollView addSubview: macBookAirImageView];
}
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ (ΡΠΈΡ. 1.64).
Π ΠΈΡ. 1.64. ΠΡΠΎΠΊΡΡΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ
1.24. ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ UIWebView
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iOS.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ UIWebView.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ΅Π±-Π²ΠΈΠ΄ (Web View) β ΡΡΠΎ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ°ΡΠ·Π΅Ρ Safari ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ iOS ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· Π‘Π΅ΡΠΈ. ΠΠ»Π°ΡΡ UIWebView ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΄Π»Ρ iOS Π²ΡΡ ΠΌΠΎΡΡ Safari. ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, β ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²Π΅Π±-Π²ΠΈΠ΄ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΊΠΈ:
β’ loadData: MIMEType: textEncodingName: baseURL: β Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π² Π²Π΅Π±-Π²ΠΈΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° NSData;
β’ loadHTMLString: baseURL: β Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π² Π²Π΅Π±-Π²ΠΈΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° NSString. Π‘ΡΡΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ HTML-ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π΅ ΠΌΠΎΠ³ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ;
β’ loadRequest: β Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° NSURLRequest. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² Π²Π΅Π±-Π²ΠΈΠ΄, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ URL.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
#import Β«ViewController.hΒ»
@interface ViewController ()
@property(nonatomic, strong) UIWebView *myWebView;
@end
@implementation ViewController
Π’Π΅ΠΏΠ΅ΡΡ Ρ Ρ ΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² Π²Π΅Π±-Π²ΠΈΠ΄ ΡΡΡΠΎΠΊΡ iOS 7 Programming Cookbook. Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΠΈ ΡΡΠΎ Π½Π°Ρ Π²Π΅Π±-Π²ΠΈΠ΄ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π°ΡΡΡΠ΅Π½Π½ΡΠΉ (ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ) ΡΠ΅ΠΊΡΡ, Ρ Π½Π° ΡΡΠΎΠΌ Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π»ΡΡΡ ΠΈ Π²ΡΠ΄Π΅Π»Ρ ΡΠ»ΠΎΠ²ΠΎ Cookbook ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΡ ΠΎΡΡΠ°Π²Π»Ρ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΡΠΈΡ. 1.65):
β (void)viewDidLoad{
[super viewDidLoad];
self.myWebView = [[UIWebView alloc] initWithFrame: self.view.bounds];
[self.view addSubview: self.myWebView];
NSString *htmlString = @"iOS 7 Programming <strong>Cookbook</strong>";
[self.myWebView loadHTMLString: htmlString
baseURL: nil];
}
Π ΠΈΡ. 1.65. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² Π²Π΅Π±-Π²ΠΈΠ΄
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅Π±-Π²ΠΈΠ΄ΠΎΠΌ β Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² Π½Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ URL. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ loadRequest:. ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°Π³ΡΡΠ·ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ° Apple Π² Π²Π΅Π±-Π²ΠΈΠ΄, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π»Ρ iOS (ΡΠΈΡ. 1.66):
β (void)viewDidLoad{
[super viewDidLoad];
self.myWebView = [[UIWebView alloc] initWithFrame: self.view.bounds];
self.myWebView.scalesPageToFit = YES;
[self.view addSubview: self.myWebView];
NSURL *url = [NSURL URLWithString:@"http://www.apple.com"];
NSURLRequest *request = [NSURLRequest requestWithURL: url];
[self.myWebView loadRequest: request];
}
Π ΠΈΡ. 1.66. ΠΠ΅Π±-Π²ΠΈΠ΄, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Apple
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π² Π²Π΅Π±-Π²ΠΈΠ΄ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ. ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Safari Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΊΡΠ°Π½Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ½ΠΊΠΈΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΡΡΠΎ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π°Π½ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (ΡΠΈΡ. 1.67).
Π ΠΈΡ. 1.67. ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ
Π iOS ΡΡΠ° Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Π½Π° Π΄Π΅Π»Π΅Π³Π°Ρ Π²Π΅Π±-Π²ΠΈΠ΄Π°, ΠΈ Π²Π΅Π±-Π²ΠΈΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»Π΅Π³Π°Ρ ΡΡΠ°Π½Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ. ΠΠΎΠ³Π΄Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡ Π²Π΅Π±-Π²ΠΈΠ΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΡΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ delegate Π²Π΅Π±-Π²ΠΈΠ΄Π°. ΠΠ΅Π»Π΅Π³Π°Ρ Π²Π΅Π±-Π²ΠΈΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ UIWebViewDelegate.
ΠΠ΄Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌΠΈ. Π£ΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° setNetworkActivityIndicatorVisible:, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ UIApplication. ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°:
@interface ViewController () <UIWebViewDelegate>
@property(nonatomic, strong) UIWebView *myWebView;
@end
@implementation ViewController
ΠΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ΄Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ· ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ UIWebViewDelegate:
webViewDidStartLoad: β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ;
webViewDidFinishLoad: β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ;
webView: didFailLoadWithError: β Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·-Π·Π° Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠ²Π° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ:
β (void)webViewDidStartLoad:(UIWebView *)webView{
[[UIApplication sharedApplication]
setNetworkActivityIndicatorVisible: YES];
}
β (void)webViewDidFinishLoad:(UIWebView *)webView{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: NO];
}
β (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible: NO];
}
β (void)viewDidLoad{
[super viewDidLoad];
self.myWebView = [[UIWebView alloc] initWithFrame: self.view.bounds];
self.myWebView.delegate = self;
self.myWebView.scalesPageToFit = YES;
[self.view addSubview: self.myWebView];
NSURL *url = [NSURL URLWithString:@"http://www.apple.com"];
NSURLRequest *request = [NSURLRequest requestWithURL: url];
[self.myWebView loadRequest: request];
}