小编hpi*_*que的帖子

UIScrollView的中心内容较小时

我有一个UIImageView内部UIScrollView用于缩放和滚动.如果滚动视图的图像/内容大于滚动视图,则一切正常.但是,当图像变得小于滚动视图时,它会粘在滚动视图的左上角.我想让它保持中心,就像照片应用程序一样.

任何关于在UIScrollView较小时保持居中内容的想法或例子?

我正在使用iPhone 3.0.

以下代码几乎可以使用.如果在达到最小缩放级别后将其捏住,图像将返回到左上角.

- (void)loadView {
    [super loadView];

    // set up main scroll view
    imageScrollView = [[UIScrollView alloc] initWithFrame:[[self view] bounds]];
    [imageScrollView setBackgroundColor:[UIColor blackColor]];
    [imageScrollView setDelegate:self];
    [imageScrollView setBouncesZoom:YES];
    [[self view] addSubview:imageScrollView];

    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"WeCanDoIt.png"]];
    [imageView setTag:ZOOM_VIEW_TAG];
    [imageScrollView setContentSize:[imageView frame].size];
    [imageScrollView addSubview:imageView];

    CGSize imageSize = imageView.image.size;
    [imageView release];

    CGSize maxSize = imageScrollView.frame.size;
    CGFloat widthRatio = maxSize.width / imageSize.width;
    CGFloat heightRatio = maxSize.height / imageSize.height;
    CGFloat initialZoom = (widthRatio > …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uiscrollview uiimageview ios

136
推荐指数
9
解决办法
7万
查看次数

Android中的垃圾收集器

我见过很多Android答案,建议在某些情况下调用垃圾收集器.

在进行需要大量内存的操作之前,在Android中请求垃圾收集器是一个好习惯吗?如果没有,如果我收到OutOfMemory错误,我应该只调用它吗?

在使用垃圾收集器之前还有其他我应该使用的东西吗?

java android garbage-collection

105
推荐指数
7
解决办法
11万
查看次数

iOS Prefix.pch最佳实践

我见过很多开发人员在iOS项目的Prefix.pch中添加了各种便利宏.

您建议添加到iOS Prefix.pch文件中(或不建议)是什么?你的Prefix.pch是什么样的?

xcode objective-c pch ios

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

在iTunes Connect中删除应用程序

Apple已经推出了删除应用程序的可能性.引用iTunes Connect指南:

如果您已在iTunes Connect中创建了一个不再需要查看或管理的应用程序,则可以从iTunes Connect视图中将其删除.删除您的应用程序将不允许您重新使用您的SKU或应用程序名称,并且您将无法在删除后恢复您的应用程序.

到现在为止还挺好.然后它有点混乱:

如果您将应用程序出售给其他开发人员以进行自己的分发并需要将其从iTunes Connect帐户中删除,我们建议您使用应用程序删除,以便释放应用程序名称以供其使用.

这是否意味着我无法在帐户中重复使用该名称,但其他帐户会是什么?有人试过吗?

iphone itunesconnect

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

Android平板电脑的布局

我想在Android中为平板电脑和手机创建不同的布局.我应该在哪里放置布局资源以实现这种差异化?

android tablet android-layout

70
推荐指数
4
解决办法
7万
查看次数

在Android中查看活动堆栈

是否可以在Android中查看活动堆栈以进行调试?

debugging stack android android-activity

69
推荐指数
1
解决办法
3万
查看次数

子视图控制器中的topLayoutGuide

我有一个UIPageViewController半透明的状态栏和导航栏.topLayoutGuide正如预期的那样,它是64像素.

但是,UIPageViewController报告的子视图控制器为topLayoutGuide0像素,即使它们显示在状态栏和导航栏下.

这是预期的行为吗?如果是这样,在真实情况下定位子视图控制器视图的最佳方法是topLayoutGuide什么?

(缺少使用parentViewController.topLayoutGuide,我认为是黑客攻击)

uiviewcontroller ios uipageviewcontroller autolayout ios7

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

使用正确的大小解码Android中的位图

我用SD解码SD卡的位图BitmapFactory.decodeFile.有时位图大于应用程序需要或堆允许的位图,因此我BitmapFactory.Options.inSampleSize用来请求子采样(较小)位图.

问题是该平台没有强制执行inSampleSize的确切值,有时我的位图太小,或者对于可用内存而言仍然太大.

来自http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize:

注意:解码器将尝试满足此请求,但生成的位图可能具有与请求完全相同的不同维度.此外,2的幂通常更快/更容易让解码器兑现.

我应该如何解码SD卡中的位图以获得我需要的确切大小的位图,同时尽可能少地使用内存进行解码呢?

编辑:

当前源代码:

BitmapFactory.Options bounds = new BitmapFactory.Options();
this.bounds.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, bounds);
if (bounds.outWidth == -1) { // TODO: Error }
int width = bounds.outWidth;
int height = bounds.outHeight;
boolean withinBounds = width <= maxWidth && height <= maxHeight;
if (!withinBounds) {
    int newWidth = calculateNewWidth(int width, int height);
    float sampleSizeF = (float) width / (float) newWidth;
    int sampleSize = Math.round(sampleSizeF);
    BitmapFactory.Options resample = new BitmapFactory.Options();
    resample.inSampleSize = sampleSize; …
Run Code Online (Sandbox Code Playgroud)

memory android bitmap sd-card

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

HTML书籍式的分页

如何在屏幕大小的块中拆分HTML文件的内容,以便在WebKit浏览器中"分页"它?

每个"页面"应显示完整的文本量.这意味着不得在屏幕的顶部或底部边框中将一行文本切成两半.

编辑

这个问题最初标记为"Android",因为我打算构建一个Android ePub阅读器.但是,似乎解决方案只能使用JavaScript和CSS实现,因此我扩大了问题的范围,使其与平台无关.

html javascript css pagination webkit

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

在Android中实施应用内购买?

编辑:Android现在支持应用内结算!

原始问题:

看起来Android本身不支持应用程序内购买一段时间,而当它确实存在时,可能会有庞大的用户群,其设备不支持它们.

如果可能,使用Android Market在Android中实现类似iPhone的(额外内容或服务)应用内购买的最佳方式是什么?

解决方案应特别考虑:

  • 适用于各种应用内购买:Android Market的24小时取消政策
  • 对于消耗品/非消耗品:存储其他内容(即:使用宝贵的应用程序内存以避免盗版,或使用SD卡以避免膨胀应用程序内存)

谢谢!

android in-app-purchase in-app-billing

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