本帖最后由 Hitourlee 于 2014-07-31 13:28:27 编辑

解决方案 »

  1.   

    这不是Toolbar,是自定义的UIView,在touch里面处理
      

  2.   

    你可以用UICollectionView来做,子类化一个UICollectionViewLayout类,在这里面你可以对每个显示的元素进行精确控制,而且UICollectionView会帮你维护contentOffset。你可以找找demo
      

  3.   

    需要自定义实现
    关键技术点:手势
    这里要给这个自定义控件添加UIPanGestureRecognizer手势,使用这个手势来控制控件的旋转,主要是根据移动的偏移量来计算出圆要旋转的弧度值,再修改这个控件的transform ,使用CGAffineTransformMakeRotation来实现控件的旋转,再给这个旋转的动作加入动画。这个处理要在 recoginaer.state == UIGestureRecognizerStateChanged 中来做还有一个技术点就是当某个项旋转到中间时需要放大的处理,如何实现 ?
    可定义这么一个中心点的矩形,假设是(320*0.5,  500, 100,100). 这就是中间放大显示的项的坐标及大小。当然在设计时需要将每个图标项封装成独立的类,在这个类中要维护一个状态,用于判断是否为当前项,如果是,放大显示。在滚动时需要拿到这些图标项在self.view中的坐标,可使用 convertRect:toView:  这样的函数来得到。再使用 CGRectContansRect() 函数,判断图标项是否已经进入到我们定义好的中心点区域。以上是思路