我有一个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) 我见过很多Android答案,建议在某些情况下调用垃圾收集器.
在进行需要大量内存的操作之前,在Android中请求垃圾收集器是一个好习惯吗?如果没有,如果我收到OutOfMemory错误,我应该只调用它吗?
在使用垃圾收集器之前还有其他我应该使用的东西吗?
我见过很多开发人员在iOS项目的Prefix.pch中添加了各种便利宏.
您建议添加到iOS Prefix.pch文件中(或不建议)是什么?你的Prefix.pch是什么样的?
Apple已经推出了删除应用程序的可能性.引用iTunes Connect指南:
如果您已在iTunes Connect中创建了一个不再需要查看或管理的应用程序,则可以从iTunes Connect视图中将其删除.删除您的应用程序将不允许您重新使用您的SKU或应用程序名称,并且您将无法在删除后恢复您的应用程序.
到现在为止还挺好.然后它有点混乱:
如果您将应用程序出售给其他开发人员以进行自己的分发并需要将其从iTunes Connect帐户中删除,我们建议您使用应用程序删除,以便释放应用程序名称以供其使用.
这是否意味着我无法在帐户中重复使用该名称,但其他帐户会是什么?有人试过吗?
我想在Android中为平板电脑和手机创建不同的布局.我应该在哪里放置布局资源以实现这种差异化?
是否可以在Android中查看活动堆栈以进行调试?
我有一个UIPageViewController半透明的状态栏和导航栏.topLayoutGuide正如预期的那样,它是64像素.
但是,UIPageViewController报告的子视图控制器为topLayoutGuide0像素,即使它们显示在状态栏和导航栏下.
这是预期的行为吗?如果是这样,在真实情况下定位子视图控制器视图的最佳方法是topLayoutGuide什么?
(缺少使用parentViewController.topLayoutGuide,我认为是黑客攻击)
我用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) 如何在屏幕大小的块中拆分HTML文件的内容,以便在WebKit浏览器中"分页"它?
每个"页面"应显示完整的文本量.这意味着不得在屏幕的顶部或底部边框中将一行文本切成两半.
编辑
这个问题最初标记为"Android",因为我打算构建一个Android ePub阅读器.但是,似乎解决方案只能使用JavaScript和CSS实现,因此我扩大了问题的范围,使其与平台无关.
编辑:Android现在支持应用内结算!
原始问题:
看起来Android本身不支持应用程序内购买一段时间,而当它确实存在时,可能会有庞大的用户群,其设备不支持它们.
如果可能,使用Android Market在Android中实现类似iPhone的(额外内容或服务)应用内购买的最佳方式是什么?
解决方案应特别考虑:
谢谢!
android ×5
ios ×3
objective-c ×2
autolayout ×1
bitmap ×1
cocoa-touch ×1
css ×1
debugging ×1
html ×1
ios7 ×1
iphone ×1
java ×1
javascript ×1
memory ×1
pagination ×1
pch ×1
sd-card ×1
stack ×1
tablet ×1
uiimageview ×1
uiscrollview ×1
webkit ×1
xcode ×1