iOS倾斜TextView在Cocos2D或原生中滚动

时间:2011-10-31 17:05:17

标签: iphone ios cocos2d-iphone uitextview

如果文本不垂直,如何使UITextView滚动?

      +--------------+
     / Text         /
    / Here         /
   / Is           /
  / Not          /
 / Vertical     /
+--------------+

线的起点与边框(背景)图像的角度相同 或者我们可以使用除UITextView之外的其他元素,如果它可以解决问题。

仅在垂直方向滚动,
背景图像是固定的,
不,可见只是适合塑造的部分,其他是隐藏的

屏幕由私有许可证涵盖,我无法发布。

2 个答案:

答案 0 :(得分:2)

您的意思是您希望文本视图沿对角线滚动吗?它不是最优雅的解决方案,但也许是这样的:

  1. 实施scrollViewDidScroll:委托方法
  2. 在每个代表回调中获取现有contentOffset
  3. 将偏移的x - 值修改为与您想要进入的“对角线”量相对应的金额
  4. [scrollView setContentOffset:newOffset animated:NO];
  5. 同时将滚动视图的directionalLockEnabled设置为NO。

答案 1 :(得分:2)

您可以使用以下代码来扭曲文本字段:

float angle = -20.0/180*M_PI;
CATransform3D skew = CATransform3DIdentity;
skew.m21 = tanf(angle);
textField.layer.transform = skew;
编辑:也许我误解了你的问题 - 你想要直接的文字,但是需要倾斜滚动?如果是这种情况,你可以把你的UITextField(或UITextView)放到UIScrollView中,但是给scrollView提供与textField相反的转换,就像这样

float angle = -20.0/180*M_PI;
CATransform3D skew = CATransform3DIdentity;

skew.m21 = tanf(-angle);
scrollView.layer.transform = skew;

skew.m21 = tanf(angle);
textField.layer.transform = skew;