程序日志--ios“移动网站导航”程序

我的学习日志004:“移动网站导航”程序

交代一下我做程序的工具:mac os x虚拟机10.9.3         Xcode6         百度^-^         参考书iPhone30天精通


程序目的:使用按钮控件在网页视图控件中打开指定的网站,实现一个迷你网站导航器。

在第二篇日志里面写了使用按钮打开网页的博文,代码部分总结的比较简单,可以参考一下http://blog.csdn.net/v7595v/article/details/46833209

说一下,本程序原本打开的是谷歌地图的网址,但是我没翻墙,所以现在打开的是百度地图的网址。因为谷歌地图的网址会随着地址的变化而变化,所以本程序还有一个知识点就是把字符串数据转化为URL网页格式(即将字符串格式转换成ASCII格式),代码在后面给出了。

先说程序:

.h文件

#include<UIKit/UIKit.h>

#include<Foundation/Foundation.h>

@interface viewController:UIViewController{

        IBOutlet UIWebView *webView;

}

@property(nonatomic,retain) UIViewController;

-(IBAction)openMaps;

@end


.m文件

#import "viewController.h"

@implementation viewController

-(IBAction)openMaps{

         NSString *url = @"http://map.baidu.com";       

        webView.userInteractionEnable = true;

        [webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:anyURL]]];

}

-(void)viewDidLoad{

        [super viewDidLoad];

}

-(void)didReceiveMemoryWarning{

       [super didReceiveMemoryWarning];

}

@end

后讲疑问和知识总结:

本程序新接触到的UI控件webView:

是一个加载网页内容的控件。使用这个控件的时候需要开启与用户交互的属性值:   webView.userInteractionEnabled = true;


UIWebView获得网站内容:

[webView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:anyURL]]];

可以按照下面更便于理解:

[NSURL alloc] initWithString:anyURL]     :是创建一个URL,其内容是anyURL(字符串),假设其结果是得到一个“url”。

[[NSURLRequest alloc] initWithURL:url]  :目的是向url发送内容请求,得到网页的内容“urlContent”。

[webView loadRequest:urlContent]           :在webView控件里加载内容。



出现警告:
Autosynthesized property 'myVar' will use synthesized instance variable '_webView', not existing instance variable 'webView'.

哎,这个问题真的好让人蛋疼,之前百度百科上面说现在的版本可以不用写@synthesize,我就没写,然后就报个这么一个警告,然后参考别人的解决方案,http://www.ylzx8.cn/yidongkaifa/iphone/12846.html   然并卵,只是在.m文件里面添加了@synthesize webView;问题就解决了。



调整UIWebview在手机上显示的尺寸到合适的情况:

直接就在storyboard里面调整就可以,边上有调整的地方。



本程序里面没有用到-(void)viewDidLoad;方法,什么时候不使用viewDidLoad方法?

本程序在书上原来没有viewDidLoad方法,是我的Xcode默认就有的,所以我的程序里面有viewDidLoad方法。

在第一篇程序日志里面简单的写了一下各个默认的方法都是什么时候使用,同时怎么利用默认方法编程。

现在有一个介绍默认方法比较全的博文http://blog.csdn.net/silva_831/article/details/10511923

思考:

网上都在说什么时候调用viewDidLoad,而没有说什么时候可以不用viewDidLoad,可能这本身就是一个很愚蠢的问题。

我看的书是用xib构建视图的,它给出的程序这一次没有给vieDidLoad方法,我现在用storyBoard构架视图,如果不用vieDidLoad会有什么情况发生?

可以运行,明天要查一下这是什么情况,室友说是启动程序的时候有个黑屏的时间,探讨这个问题就主要了解这段时间程序的运行。



将字符串格式转换成ASCII格式,代码如下,这里只保存代码,不深究:

NSString *anyText = "maps";

anyText = [anyText stringByaddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

NSString *urlText = [NSString stringWithFormat:@".......",anyText];



OVER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值