Tag: iphone

在iOS中的基本拖放

我想有一个观点,其中有车辆左右,用户也可以拖放。 你认为最好的大规模战略是什么? 从代表车辆的视angular,还是从更大的angular度来看触摸事件是最好的? 你有一个简单的范例,你用拖放,你满意吗? 什么是不同的策略的弊端?

如何以分组样式设置UITableView中单元格的宽度

我已经为此工作了大约2天,所以我想我与你分享我的学习。 问题是:是否有可能使分组的UITableView单元格的宽度更小? 答案是不。 但是有两种方法可以解决这个问题。 解决scheme#1:一个更薄的表可以改变tableView的框架,以便表更小。 这将导致UITableView呈现宽度减小的单元格。 对此的解决scheme可能如下所示: -(void)viewWillAppear:(BOOL)animated { CGFloat tableBorderLeft = 20; CGFloat tableBorderRight = 20; CGRect tableRect = self.view.frame; tableRect.origin.x += tableBorderLeft; // make the table begin a few pixels right from its origin tableRect.size.width -= tableBorderLeft + tableBorderRight; // reduce the width of the table tableView.frame = tableRect; } 解决scheme#2:通过图像渲染单元格 这个解决scheme在这里描述: http […]

在 – 中禁用隐式animation

我在它的-drawInContext:方法中有一个复杂的绘图代码层。 我想尽量减less我需要做的绘图的数量,所以我使用-setNeedsDisplayInRect:只更新更改的部分。 这是出色的。 但是,当graphics系统更新我的图层时,它将使用交叉渐变从旧图像过渡到新图像。 我想立即切换。 我已经尝试使用CATransaction来closures操作并将持续时间设置为零,但都不起作用。 以下是我正在使用的代码: [CATransaction begin]; [CATransaction setDisableActions: YES]; [self setNeedsDisplayInRect: rect]; [CATransaction commit]; 我应该使用CATransaction有不同的方法(我也试过-setValue:forKey:与kCATransactionDisableActions,相同的结果)。

iOS:自动布局中的多行UILabel

我无法通过自动布局来实现一些非常基本的布局行为。 我的视图控制器在IB中看起来像这样: 最上面的标签是标题标签,我不知道会有多less行。 我需要标题标签来显示文本的所有行。 我还需要另外两个标签和小图片放在标题下方,不pipe高度如何。 我已经设置标签和小图像之间的垂直间距约束,以及标题标签和其超视图之间的顶部间距约束以及小图像和其超视图之间的底部间距约束。 白色的UIView没有高度约束,所以它应该垂直拉伸以包含它的子视图。 我已经将标题标签的行数设置为0。 我怎样才能得到标题标签resize,以适应string所需的行数? 我的理解是,我不能使用setFrame方法,因为我使用自动布局。 而我必须使用自动布局,因为我需要这些其他视图留在标题标签(因此约束)之下。 我怎样才能做到这一点?

iPhone上的HTML5内嵌video与iPad /浏览器

我创build了一个HTML5video播放器(非常简单),可以在iPad和浏览器上完美地工作。 但是,当我在iPhone上打开它时,我只会看到一个播放button,当它按下时,会在新窗口中打开本地video播放器,在我所有的东西之上。 这意味着我无法访问我的自定义控件和时间跟踪(用Javascript编写),因为video现在正在运行孤立。 有没有什么办法可以覆盖苹果的iPhone上的HTML5video控制,并得到它的工作就像在iPad上? 干杯

使用AVAsset制作带有图片arrays和歌曲文件的电影文件

我正在尝试使用图片数组和audio文件制作电影文件。 为了制作一个图片数组,我在这里使用了zoul的大post。 一切都是完美的,我有我的电影与我的照片。 但是,当我尝试添加一些音轨时,我有很多问题。 为了理解我把我的代码: 当我调用这个方法时,图片数组和歌曲文件都准备好了: -(void) writeImagesToMovieAtPath:(NSString *) path withSize:(CGSize) size { NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:documentsDirectoryPath]; for (NSString *tString in dirContents) { if ([tString isEqualToString:@"essai.mp4"]) { [[NSFileManager defaultManager]removeItemAtPath:[NSString stringWithFormat:@"%@/%@",documentsDirectoryPath,tString] error:nil]; } } NSLog(@"Write Started"); NSError *error = nil; AVAssetWriter *videoWriter = [[AVAssetWriter alloc] initWithURL: [NSURL […]

禁用自动缩放input“文本”标签 – iPhone上的Safari

我做了一个html页面,它有一个types为“text”的<input>标签。 当我在iPhone上使用Safari点击它时,页面变得更大(自动缩放)。 有谁知道如何禁用这个?

如何在plist中写入数据?

我在资源文件夹中创build了save.plist。 我直接写了一些数据(不使用编码)。 我能够读取这些数据,但是我无法通过编码写入同一个save.plist。 通过使用下面的代码,我试图写入数据,但它存储在我的.app plist中。 代码在这里 NSString *errorDesc = nil; NSPropertyListFormat format; NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"save" ofType:@"plist"]; NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath]; NSMutableDictionary *temp = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc]; if (!temp) { NSLog(errorDesc); [errorDesc release]; } // [temp setValue:@"123" forKey:@"line1"]; // [temp writeToFile:plistPath atomically: YES]; //Reading data from save.plist NSLog([temp […]

与 init]之间的区别

有人可以告诉我在声明一个可变数组的区别: NSMutableArray *array = [NSMutableArray array]; 和 NSMutableArray *array = [[NSMutableArray alloc] init]; 因为在开始的时候我用alloc来声明所有的数组,如果在某个函数结束时我返回了使用alloc创build的数组,我必须自动释放该数组,因为内存泄漏问题。 现在使用第一个声明,我不需要发布任何东西。 谢谢

“约定

我看到一些示例代码与[super viewDidLoad]在实现之前和实现之后调用。 我知道你不必总是打电话给超级(正如其他许多讨论中所看到的)。 当你打电话的时候,是不是在你编码之前或之后? 这可能会有后果取决于超级的实施。 虽然你不应该知道超级的实现来写你的。 当然,这适用于所有的UIViewControllers委托方法(willAppear,didAppear等) 有什么想法吗?