小编use*_*225的帖子

缩放图像以适应iPhone旋转时的屏幕

我有一个包含UIImageView的UIScrollView,当iPhone旋转时我有一些麻烦来获得正确的行为.

目标:从纵向到横向时,我试图获得以下内容:

_________
|AAAAAAA|
|BBBBBBB|         _________________
|CCCCCCC|         |     AAAAAA     |
|DDDDDDD|    -->  |     CCCCCC     |
|EEEEEEE|         |     EEEEEE     |
|FFFFFFF|         |_____GGGGGG_____|
|GGGGGGG|
---------
Run Code Online (Sandbox Code Playgroud)

在此处,纵向视图中的整个图像被缩放以适合iPhone旋转时的横向视图.它也是中心的.我也试图保持纵横比.用户交互也开启,用户应该能够使用整个屏幕来平移/缩放图像.

目前我autoresizingMask在scrollView上有以下内容:

 scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth |
                               UIViewAutoresizingFlexibleHeight);       
Run Code Online (Sandbox Code Playgroud)

但是这给出了以下内容

_________
|AAAAAAA|
|BBBBBBB|         _________________
|CCCCCCC|         |AAAAAA          |
|DDDDDDD|    -->  [BBBBBB          |
|EEEEEEE|         [CCCCCC          |
|FFFFFFF|         [DDDDDD__________|
|GGGGGGG|
---------
Run Code Online (Sandbox Code Playgroud)

此设置可保留左上角的比例和偏移.

问题: 是否可以使用合适的方法获得此行为autoresizingMask?如果没有,可能应该设置

 scrollView.autoresizingMask = UIViewAutoresizingNone;
Run Code Online (Sandbox Code Playgroud)

并手动设置zoomScalecontentOffset旋转UIScrollView.但是,应该在哪里完成?那个变化的动画怎么样?

解决方案: 通过稍微修改下面的答案,我使用以下代码得到了上述行为:

imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
                                     UIViewAutoresizingFlexibleHeight);

scrollView.autoresizingMask =(UIViewAutoresizingFlexibleWidth 
                                     | UIViewAutoresizingFlexibleHeight);

imageView.contentMode = UIViewContentModeScaleAspectFit;
scrollView.contentMode = …
Run Code Online (Sandbox Code Playgroud)

iphone uiscrollview autoresizingmask

8
推荐指数
1
解决办法
9486
查看次数

iPhone旋转后UIScrollView中的contentOffset

我有一个UIImageViewUIScrollView和我有一些麻烦的contentOffset财产.根据Apple的参考,这被定义为:

contentOffset:内容视图的原点偏离滚动视图原点的点.

例如,如果图像位于屏幕的左上角,如下所示,则contentOffset将为(0,0):

   _________
   |IMG    |
   |IMG    |
   |       |
   |       |
   |       |
   |       |
   ---------
Run Code Online (Sandbox Code Playgroud)

对于设备旋转,我有以下设置:

 scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
       UIViewAutoresizingFlexibleHeight);

 imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
       UIViewAutoresizingFlexibleHeight);

 imageView.contentMode = UIViewContentModeCenter;  
    scrollView.contentMode = UIViewContentModeCenter;
Run Code Online (Sandbox Code Playgroud)

这将使一切都围绕屏幕中心旋转.旋转屏幕后,屏幕将如下所示:

    ______________
    |       IMG  |
    |       IMG  |
    |            |
    --------------
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我现在读到contentOffset它,它仍然是(0,0).(如果我在横向模式下移动UIImage,contentOffset则更新值,但它是根据错误的原点计算的.)

有没有办法计算UIImage相对于屏幕左上角的坐标.contentOffset当屏幕处于视图的初始方向时,似乎只返回此值.

我曾尝试阅读self.view.transformscrollView.transform,但他们总是身份.

uiscrollview uiimageview

5
推荐指数
1
解决办法
7228
查看次数

UITableView单元格下的文本

iPhone的设置应用程序是围绕一个UITableview.在某些视图中,单元格之间还有其他文本.例如,在"设置" - >"常规" - >"网络"中,有一个带有UISwitch的单元格下的"使用3G加载数据更快,但可能会缩短电池寿命".任何想法如何实现这一点?

我的意思的图像可以在这里找到:

http://www.tipb.com/2008/07/12/how-to-disable-3g-on-the-iphone-3g-for-more-talk-but-less-speed/

iphone objective-c uitableview

2
推荐指数
1
解决办法
1592
查看次数

将 Lab 颜色转换为 RGB

我正在尝试将 Lab 颜色转换为 RGB。作为此转换的示例,Photoshop 将

L= 100, a = 0, b = 127 
Run Code Online (Sandbox Code Playgroud)

进入

R=255, G=252, B=0.
Run Code Online (Sandbox Code Playgroud)

这种颜色是亮黄色。

我编写了以下转换例程(C/Objective C)。然而,有些事情是不对的。代码会输出

XYZ = 100.000000 100.000000 4.862713
RGB = 163.908401 90.755638 -13.093634
Run Code Online (Sandbox Code Playgroud)

这里 RGB 结果和 Photoshop 的 RGB 之间的不匹配似乎相当大。负蓝色成分也是一个问题。

关于如何更正以下代码的任何想法将不胜感激?或者,任何其他用于将 Lab 转换为 RGB 的算法/公式/伪代码?谢谢你。

编码:

/*
 *   See Wikipedia artice on Lab color space
 *
 *    http://en.wikipedia.org/wiki/Lab_color_space
 *
 */
CGFloat fInv (CGFloat t) {

   CGFloat T0 = (CGFloat) 6.0f/29.0f;

   if (t > T0) {
       return t*t*t;
   }

   return 3.0 * T0 * …
Run Code Online (Sandbox Code Playgroud)

colors ios

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