- 浏览: 534346 次
- 性别:
- 来自: 北京
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
文章列表
本篇实现功能是两个选取器的关联操作,滚动第一个滚轮第二个滚轮内容随着第一个的变化而变化,然后点击按钮触发一个动作;工程是在 代码实现UIPickerView 一文中基础上修改的,建工程就不多说,先把效果图贴出来:
[img]
[/img]
[img]
[/img]
1.首先在工程中建一个songInfo.plist文件,储存数据,
[img]
[/img]
添加的内容是:
[img]
[/img]
2.在ViewController.h定一个选取器pickerView对象,两个数组,存放选取器数据和一个字典,读取plist文件
#import <UIK ...
先说一下当个组件选取器,我们创建一个数组NSAray来保存选取器中的内容;选取器本身不会储存任何数据,,它通过调用数据源和委托方法来显示数据;但是对于大量数据的数据源,数组并不合适,我们可以做一个静态列表如plist文件或者URL载入,和后面将讲在文件中获取数据,还以多个选取器的之间的关联如何实现;先说下简单的单个选取器:
先把效果图贴出来
[img]
[/img]
[img]
[/img]
1.新建工程名为PickerViewDemo , File->New->Project ->single View Application -> next
[img] ...
本文写的是视图切换,涉及到的内容有
1.实现代码添加Navigation Bar Toolbal;
2.实现在Navigation Bar和Toolbar上用代码添加Bar Button Item;
3.UIView层面的简单动画效果
[img]
[/img]
[img]
[/img]
[img]
[/img]
[img]
[/img]
开始制作:
1.创建一个新工程叫NVDemo; File->New->Project ->single View Application -> next
[img]
[/img]
2. ...
先看一下效果图:
[img]
[/img]
注意顶部的加载提示
如果打算使用这种效果,在工程中添加:GCDiscreetNotificationView.h 和 GCDiscreetNotificationView.m文件
调用方法:
ViewController.h如下:
//
// ViewController.h
// TestToast
//
// Created by 张 ...
解决UITextField输入到最大值不能删除的现象
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
BOOL isAllowEdit = YES;
if([string length]>range.length&&[textField.text length]+[string length]-range.length>_NA ...
ios默认的样式不太适合我们的应用,可以通过一下方法设置相关属性:
设置背景:
[_tabBar setBackgroundImage:[UIImage imageNamed:@"bg_tabbar"]];
设置某个Item选中的效果:
_tabBar.selectionIndicatorImage = [UIImage imageNamed:@"bar_item_selected"];//设置选中效果图片
设置UITabBarItem文字颜色
[[UITabBarItem appearance] setTitleTextAttri ...
iphone5出来了,从不用适配的我们也要像android一样适配不同分辨率的屏幕了。
公司产品新版本需要适配iphone5,经过一番折腾算是搞定了。下面分享给大家:
iphone5的屏幕分辨率:1136 x 640 也即是高度变成了568,程序启动时我们需要一张retina图片命名为Default-568h@2x.png。在我们创建工程时xcode会默认为我们创建一个纯黑色的图片替换即可。
最新版的xcode都已支持iphone5调试:选中模拟器---->设备---->iphone(Retina 4-inch),稍等片刻就可以切换到iphone5模拟器。
要适配iph ...
ios 中没有下拉组件,下面是自己实现的分享给大家!
运行效果图:
[img]
[/img]
#import <UIKit/UIKit.h>
@protocol CloComboxDelegate;
@interface CloCombox : UIView <UITableViewDataSource, UITableViewDelegate>{
UIButton *title;
UITableView *cloTable;
}
@property (nonatomic, retain) id <CloComboxDeleg ...
自定义一个pageControl继承于UIpageControl。具体代码如下:
#import <UIKit/UIKit.h>
@interface CloPageControl : UIPageControl{
UIImage *activeImage;
UIImage *inActiveIamge;
}
@end
实现方法:
#import "CloPageControl.h"
@implementation CloPageControl
- (id)initWithFrame:(CGRect)frame
...
先看下整个json数据的格式,如下:
{
"status": 200,
"msg": "成功读取",
"total": 4,
"list": [
{
"rid": "100001",
"name": "倪氏海泰",
"sofc": "testdata&qu ...
前面的多视图总结已经有过这个实现,现在把他放在这里,主要是练习一下TabView的使用。
Navigation通常与TableView搭配使用,博文iPhone开发常用控件之表TableView【一】 编写了一个TableView的示例,那是一个单视图应用,现在搭配上Navigation将其修改为多视图应用。
1,将TableView示例工程复制一份名称修改为TableViewDemo-Nav,打开该工程进行修改。
2、首先,修改AppDelegate,添加UINavigationController的实例,AppDelegate.h修改后如下:
#import <UIKi ...
实现的功能:1)演示监听键盘状态(可解决键盘挡住输入法等问题)2)监听输入法状态
关键词:键盘状态 输入法状态 监听
1、新建一SingleView Application,命名为:KeyBoard&InputMethod,工程结果如下:
[img]
[/img]
2、修改ViewController.xib如下:
[img]
[/img]
3、ViewController.h不作修改,ViewController.m修改后如下:
@interface ViewController ()
@end
@implementation ViewCont ...
1、- (void)applicationWillResignActive:(UIApplication *)application
说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
2、- (void)applicationDidBecomeActive:(UIApplication *)application
说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反
3、- (void)applicationDidEnterBackground:(UIApplication *)application
说明:当程序被推送到后台的时候调用。所以 ...
NSLog常用格式:
%@ 对象
%d, %i 整数
%u 无符整形
%f 浮点/双字
%x, %X 二进制整数
%o 八进制整数
%zu size_t
%p 指针
%e 浮点/双字(科学计算)
%g 浮点/双字
%s C 字符串
%.*s Pascal字符串
%c 字符
%C unichar
%lld 64位长整数(long long)
%llu 无符64位长整数
%Lf 64位双字
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);
for(int i = 0; i < CFArrayGetCount(results); i++)
{
ABRecordRef person = CFArrayGetValueAtIndex(results, i);
//读取firstname
NS ...