菜鸟教程小白 发表于 2022-12-12 21:36:23

ios - 使用比率使绘图适合 iPad 和 iPhone


                                            <p><p>我正在尝试使用 <code>UIBezierPath</code> 为 iPad 和 iPhone 设备绘制一个(美式)足球场,绘制 12 条水平线,其中两条标志着端区的开始。 </p>

<p>从下面可以看到,第一行从屏幕的最左侧 (0) 开始,向下 1/12 处,一直水平延伸到 (size.bounds.size.width)。下一行从最左侧开始,但在 View 下方的 2/12 <code>CGPointMake(0, self.bounds.size.height/12 *2 )</code> 等处。以这种方式计算所有 12 行。我想,因为我使用公式(即 self.bounds.size.height/12)而不是硬数字来设置线条,所以无论我在任一设备(iPad 或苹果手机)。 </p>

<p>它在 iPad 上以这种方式工作,但是,当我在 iPhone 上查看它时,它在 iPad 屏幕顶部显示一个端区,但随后仅延伸到底部的 20 码线(纵向 View )。当我在较小的 iPhone 屏幕(3.5 英寸)中查看它时情况更糟,因为它仅延伸到纵向 View 底部的大约 30 码线。 </p>

<p>为什么没有按我计划的方式发生?</p>

<p>更新:下面的代码在 UIView 的子类 FieldView 中的 <code>- (void)drawRect:(CGRect)rect</code> 方法中。我将 UIView 作为属性 <code>@property (strong, nonatomic) IBOutlet FieldView *fieldView;</code> 连接到主视图 Controller ,并在 View 中调用 <code></code> Controller ,以便在 FieldView 中运行 <code>drawRect</code>。</p>

<p>更新 2</p>

<p>这三行的高度是</p>

<pre><code>2014-04-14 21:47:26.783 qbgeo height 85.333336   self.bounds.size.height / 12
2014-04-14 21:47:26.785 qbgeo height 170.666672self.bounds.size.height / 12 * 2
2014-04-14 21:47:26.788 qbgeo height 256.000000self.bounds.size.height / 12 * 3

UIBezierPath *goalLine = [ init];
;
;
[ setStroke];
goalLine.lineWidth = kActivationInset2;
;

UIBezierPath *tenYardLine = [ init];
;
;
[ setStroke];
tenYardLine.lineWidth = kActivationInset2;
;

UIBezierPath *twentyYardLine = [ init];
;
;
[ setStroke];
twentyYardLine.lineWidth = kActivationInset2;
;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这段代码对我来说很好用。试一试,看看它在你手中是否有效,</p>

<pre><code>- (void)drawRect:(CGRect)rect {
    for (int i =1; i&lt;12; i++) {
      UIBezierPath *line = [ init];
      ;
      ;
      [ setStroke];
      line.lineWidth = (i==1 || i==11)? 3 : 1;
      ;
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用比率使绘图适合 iPad 和 iPhone,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23074661/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23074661/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用比率使绘图适合 iPad 和 iPhone