小编Ven*_*enk的帖子

如何在UIView下绘制阴影?

我想UIView在Cocoa Touch 的底部边缘画一个阴影.我明白我应该用CGContextSetShadow()它画阴影,但Quartz 2D编程指南有点模糊:

  1. 保存图形状态.
  2. 调用函数CGContextSetShadow,传递适当的值.
  3. 执行要应用阴影的所有绘图.
  4. 恢复图形状态

我在UIView子类中尝试了以下内容:

- (void)drawRect:(CGRect)rect {
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    CGContextSaveGState(currentContext);
    CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5);
    CGContextRestoreGState(currentContext);
    [super drawRect: rect];
}
Run Code Online (Sandbox Code Playgroud)

..但这对我不起作用,我有点不知道(a)下一步该去哪里,(b)如果有什么我需要做的让我UIView做这个工作?

iphone cocoa-touch core-graphics objective-c ios

347
推荐指数
9
解决办法
24万
查看次数

没有UITableViewController的UIRefreshControl

只是好奇,因为它似乎不可能,但有没有一个偷偷摸摸的方式来利用新的iOS 6 UIRefreshControl类而不使用UITableViewController子类?

我经常使用UIViewController一个UITableView子视图,并符合UITableViewDataSourceUITableViewDelegate而不是使用UITableViewController顾左右而言他.

objective-c uitableview ios ios6 uirefreshcontrol

306
推荐指数
6
解决办法
8万
查看次数

UIWebView背景设置为"清除颜色",但它不透明

我正在使用iOS SDK最新版本和XCode 4.2开发iOS 4应用程序.

我有一个XIB,UIWebView其中Alpha = 1.0,背景设置为Clear Color,Opaque未设置.在这个XIB上,我使用以下代码将图像设置为背景:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"AboutBackground.png"]];
        self.view.backgroundColor = background;
        [background release];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

UIWebView是否显示静态的html:

<html><head></head><body style=\"margin:0 auto;text-align:center;background-color: transparent; color:white\">...</body></html>
Run Code Online (Sandbox Code Playgroud)

在iOS 5模拟器上,它的背景是透明的,但在iOS 4设备上是灰色的.

任何线索?

iphone cocoa-touch objective-c uiwebview ios

141
推荐指数
3
解决办法
7万
查看次数

在NSMutableArray的特定索引处添加对象

如何在一个特定的索引处添加一个对象NSMutableArray

如何将对象添加到数组的前面?

objective-c foundation nsmutablearray

88
推荐指数
2
解决办法
9万
查看次数

如何在iOS中将UIView转换为PDF?

关于如何在App中显示PDF有很多资源UIView.我现在正在做的是从中创建一个PDF UIViews.

例如,我有一个UIView,与像Textviews子视图,UILabels,UIImages,所以我怎么能转换成一个大的 UIView整体,包括其所有子视图和subsubviews到PDF?

我查看过Apple的iOS参考资料.但是,它只涉及将文本/图像片段写入PDF文件.

我面临的问题是我想以PDF格式写入文件的内容很多.如果我将它们逐个写入PDF,那将是一项巨大的工作.这就是我寻找写入UIViewsPDF甚至位图的方法的原因.

我已经尝试过在Stack Overflow中从其他Q/A复制的源代码.但它只给我一个带有UIView边界大小的空白PDF .

-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
    // Creates a mutable data object for updating with binary data, like a byte array
    NSMutableData *pdfData = [NSMutableData data];

    // Points the pdf converter to the mutable data object and to the UIView to be converted
    UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
    UIGraphicsBeginPDFPage();

    // draws rect to the view and thus this is …
Run Code Online (Sandbox Code Playgroud)

pdf core-graphics uiview uiimage ios

85
推荐指数
5
解决办法
5万
查看次数

在ios应用程序上缓存图像的最佳方法?

不久,我有一个NSDictionary我需要在我的图像中显示图像的网址UITableView.每个单元格都有标题和图像.我成功地实现了这一点,虽然滚动是滞后的,因为看起来细胞每次进入屏幕时都会下载图像.我搜索了一下,SDWebImage在github上找到了.这使得卷轴拉开了.我不完全确定它做了什么,但我相信它做了一些缓存.但!每当我第一次打开应用程序时,我看到没有图像,我必须向下滚动,然后备份它们才能到达.如果我用主页按钮退出应用程序并再次打开,那么它就像缓存一样工作,因为屏幕上的图像是可见的,但是,如果我向下滚动一个单元格,那么下一个单元格没有图像.直到我滚过它并备份,或者我点击它.这是缓存应该如何工作?或者缓存从网上下载的图像的最佳方法是什么?图像正在被更新,所以我接近将它们导入到项目中,但我希望能够在不上传更新的情况下更新图像.

是否无法在启动时从缓存中加载整个tableview的所有图像(假设缓存中有某些内容)?这就是为什么我有时会看到没有图像的细胞?

是的,我很难理解缓存是什么.

- 编辑 -

我只使用相同大小的图像(500x150)尝试了这个,并且方面错误消失了,但是当我向上或向下滚动时,所有单元格上都有图像,但起初它们是错误的.单元格在视图中显示几毫秒后,将显示正确的图像.这真令人讨厌,但也许它必须如何?它似乎首先从缓存中选择了错误的索引.如果我滚动慢,那么我可以看到图像从错误的图像闪烁到正确的图像.如果我快速滚动,那么我相信错误的图像在任何时候都是可见的,但由于快速滚动我无法分辨.当快速滚动减慢并最终停止时,仍会出现错误的图像,但在停止滚动后立即更新为正确的图像.我也有一个自定义UITableViewCell类,但我没有做过任何大的改动.我还没有完成我的代码,但我想不出可能出错的地方..也许我有错误的东西订单..我已经编写了很多java,c#,php等,但我很难理解Objective-c,所有的... .h.m我也有`

@interface FirstViewController : UITableViewController{

/**/
NSCache *_imageCache;
}
Run Code Online (Sandbox Code Playgroud)

(在其他变量中)FirstViewController.h.这不正确吗?

这是我的cellForRowAtIndexPath.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"hallo";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil)
{
    cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

NSMutableArray *marr = [hallo objectAtIndex:indexPath.section];
NSDictionary *dict = [marr objectAtIndex:indexPath.row];

NSString* imageName = [dict objectForKey:@"Image"];
//NSLog(@"url: %@", imageURL); …
Run Code Online (Sandbox Code Playgroud)

caching load image uitableview ios

49
推荐指数
3
解决办法
6万
查看次数

如何以编程方式设置特定UITextField的返回键?

我不敢相信这个问题还没有被提出,但我一直无法找到它,所以这是我的假设.

UITableViewCel使用Interface Builder 创建了自定义l子类.这些都包含a UILabel和a UITextField,用于我们的登录屏幕.

首先UITextField,我想要键盘键Next.然而,在第二个UITextField,我希望它说"完成".

如何以编程方式更改Return Key键盘上的值?我无法使用Interface Builder,因为这会使两个键显示为Done.

谢谢!

iphone cocoa-touch objective-c ipad ios

42
推荐指数
2
解决办法
4万
查看次数

将NSInteger变量传递给NSMutableDictionary或NSMutableArray

为什么这不起作用:

NSInteger temp = 20;
[userSettingsFromFile setObject:temp forKey:@"aTemp"];
Run Code Online (Sandbox Code Playgroud)

但这样做:

[userSettingsFromFile setObject:@"someObject" forKey:@"aTemp"];
Run Code Online (Sandbox Code Playgroud)

我该如何使用NSInteger变量?

iphone objective-c

40
推荐指数
2
解决办法
3万
查看次数

UIButtonTypeCustom类型的UIButton不会显示标题(iPhone)

我一定忽略了一些完全明显的东西?但我的按钮正确显示其图像和大小,但我根本无法显示标题.

我做了一个非常简单的测试,当我这样做时,标题甚至都没出现:

    CGRect frameBtn = CGRectMake(160.0f, 150.0f, 144.0f, 42.0f);
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal];
    [button setTitle:@"Hello" forState:UIControlStateNormal];
    [button setFrame:frameBtn];
    NSLog(@"Title:%@", [button currentTitle]);
    //prints "Title:Hello
    [self addSubview:button];
Run Code Online (Sandbox Code Playgroud)

我有一个工厂类为我生成自定义按钮,我想我在那里弄乱了一些细节,所以我将上面的代码直接移到我的UIView,标题仍然是空白.

这是一个错误还是我只是在眼前错过了一些东西.

谢谢额外的一双眼睛:)

iphone uibutton

40
推荐指数
3
解决办法
4万
查看次数

将NSData Length从字节转换为megs

我正在尝试NSLog我的NSData对象的megs数量,但是目前我所能得到的只是字节数

NSLog(@"%u", myData.length);
Run Code Online (Sandbox Code Playgroud)

那么我将如何更改此NSLog语句以便我可以看到类似的内容

2.00兆

任何帮助,将不胜感激.

nslog nsdata ios

36
推荐指数
3
解决办法
5万
查看次数