自动调整UITextView/UILabel的高度height

本文介绍如何根据UILabel和UITextView的内容自动调整其尺寸,包括高度和宽度,以适应不同长度的文本显示需求。

转载自:http://chinaxxren.iteye.com/blog/1621406


CGRect frame = noteTextView.frame;
frame.size.height = noteTextView.contentSize.height;
noteTextView.frame = frame;
这个方法太方便啦!



(转自) http://tangchuanyao.com/20120507760/ | 一路向前

很多时候都需要依据用户输入的内容自动调整UILabel/UITextView的高度和宽度,特别是UINavigationController的标题,超过一行的时候默认就是「…」我们希望他能换行表示,这样就需要根据内容调整titleView的高度啦。直接贴sample代码,高度和宽度可以根据自己的需要调整。

UILabel Sample code

?
1
2
3
4
5
6
7
CGRect frame = CGRectMake(20, 0, 280,44);
CGSize labelsize = [titleLabel.text sizeWithFont:[UIFont boldSystemFontOfSize: 16.0f]
                    constrainedToSize:CGSizeMake(320, 44)
                        lineBreakMode:UILineBreakModeTailTruncation];
frame.size.width = labelsize.width;
frame.size.height = labelsize.height;
titleLabel.frame = frame;

UITextView Sample code

?
1
2
3
4
5
6
CGRect frame = noteTextView.frame;
CGSize size = [noteTextView.text sizeWithFont:noteTextView.font
                         constrainedToSize:CGSizeMake(280, 1000)
                             lineBreakMode:UILineBreakModeTailTruncation];
frame.size.height = size.height > 1 ? size.height + 20 : 64;
noteTextView.frame = frame;

UITextView是UIScrollView的子类,因此有contentSize属性,也可以按如下实现

?
1
2
3
CGRect frame = noteTextView.frame;
frame.size.height = noteTextView.contentSize.height;
noteTextView.frame = frame;

有问题吗,这个json文件:{ "move_frame": [ "up": [ {'x': 0, 'y': 0, 'width': 480, 'height': 640}, {'x': 480, 'y': 0, 'width': 480, 'height': 640}, {'x': 960, 'y': 0, 'width': 480, 'height': 640}, {'x': 1440, 'y': 0, 'width': 480, 'height': 640}, {'x': 1920, 'y': 0, 'width': 480, 'height': 640}, {'x': 2400, 'y': 0, 'width': 480, 'height': 640}, {'x': 2880, 'y': 0, 'width': 480, 'height': 640}, {'x': 3360, 'y': 0, 'width': 480, 'height': 640}, {'x': 3840, 'y': 0, 'width': 480, 'height': 640}, {'x': 4320, 'y': 0, 'width': 480, 'height': 640}, {'x': 4800, 'y': 0, 'width': 480, 'height': 640}, {'x': 5280, 'y': 0, 'width': 480, 'height': 640}, {'x': 5760, 'y': 0, 'width': 480, 'height': 640}, {'x': 6240, 'y': 0, 'width': 480, 'height': 640}, {'x': 6720, 'y': 0, 'width': 480, 'height': 640}, {'x': 7200, 'y': 0, 'width': 480, 'height': 640}, {'x': 7680, 'y': 0, 'width': 480, 'height': 640}, {'x': 0, 'y': 640, 'width': 480, 'height': 640}, {'x': 480, 'y': 640, 'width': 480, 'height': 640}, {'x': 960, 'y': 640, 'width': 480, 'height': 640}, {'x': 1440, 'y': 640, 'width': 480, 'height': 640}, {'x': 1920, 'y': 640, 'width': 480, 'height': 640}, {'x': 2400, 'y': 640, 'width': 480, 'height': 640}, {'x': 2880, 'y': 640, 'width': 480, 'height': 640}, {'x': 3360, 'y': 640, 'width': 480, 'height': 640}, {'x': 3840, 'y': 640, 'width': 480, 'height': 640}, {'x': 4320, 'y': 640, 'width': 480, 'height': 640}, {'x': 4800, 'y': 640, 'width': 480, 'height': 640}, {'x': 5280, 'y': 640, 'width': 480, 'height': 640}, {'x': 5760, 'y': 640, 'width': 480, 'height': 640}, {'x': 6240, 'y': 640, 'width': 480, 'height': 640}, {'x': 6720, 'y': 640, 'width': 480, 'height': 640}, {'x': 7200, 'y': 640, 'width': 480, 'height': 640}, {'x': 7680, 'y': 640, 'width': 480, 'height': 640}, ], "down": [ {'x': 0, 'y': 0, 'width': 480, 'height': 640}, {'x': 480, 'y': 0, 'width': 480, 'height': 640}, {'x': 960, 'y': 0, 'width': 480, 'height': 640}, {'x': 1440, 'y': 0, 'width': 480, 'height': 640}, {'x': 1920, 'y': 0, 'width': 480, 'height': 640}, {'x': 2400, 'y': 0, 'width': 480, 'height': 640}, {'x': 2880, 'y': 0, 'width': 480, 'height': 640}, {'x': 3360, 'y': 0, 'width': 480, 'height': 640}, {'x': 3840, 'y': 0, 'width': 480, 'height': 640}, {'x': 4320, 'y': 0, 'width': 480, 'height': 640}, {'x': 4800, 'y': 0, 'width': 480, 'height': 640}, {'x': 5280, 'y': 0, 'width': 480, 'height': 640}, {'x': 5760, 'y': 0, 'width': 480, 'height': 640}, {'x': 0, 'y': 640, 'width': 480, 'height': 640}, {'x': 480, 'y': 640, 'width': 480, 'height': 640}, {'x': 960, 'y': 640, 'width': 480, 'height': 640}, {'x': 1440, 'y': 640, 'width': 480, 'height': 640}, {'x': 1920, 'y': 640, 'width': 480, 'height': 640}, {'x': 2400, 'y': 640, 'width': 480, 'height': 640}, {'x': 2880, 'y': 640, 'width': 480, 'height': 640}, {'x': 3360, 'y': 640, 'width': 480, 'height': 640}, {'x': 3840, 'y': 640, 'width': 480, 'height': 640}, {'x': 4320, 'y': 640, 'width': 480, 'height': 640}, {'x': 4800, 'y': 640, 'width': 480, 'height': 640}, {'x': 5280, 'y': 640, 'width': 480, 'height': 640}, {'x': 5760, 'y': 640, 'width': 480, 'height': 640}, {'x': 0, 'y': 1280, 'width': 480, 'height': 640}, {'x': 480, 'y': 1280, 'width': 480, 'height': 640}, {'x': 960, 'y': 1280, 'width': 480, 'height': 640}, {'x': 1440, 'y': 1280, 'width': 480, 'height': 640}, {'x': 1920, 'y': 1280, 'width': 480, 'height': 640}, {'x': 2400, 'y': 1280, 'width': 480, 'height': 640}, {'x': 2880, 'y': 1280, 'width': 480, 'height': 640}, {'x': 3360, 'y': 1280, 'width': 480, 'height': 640}, {'x': 3840, 'y': 1280, 'width': 480, 'height': 640}, {'x': 4320, 'y': 1280, 'width': 480, 'height': 640}, {'x': 4800, 'y': 1280, 'width': 480, 'height': 640}, {'x': 5280, 'y': 1280, 'width': 480, 'height': 640}, {'x': 5760, 'y': 1280, 'width': 480, 'height': 640} ], "right": [ {'x': 0, 'y': 0, 'width': 480, 'height': 640}, {'x': 480, 'y': 0, 'width': 480, 'height': 640}, {'x': 960, 'y': 0, 'width': 480, 'height': 640}, {'x': 1440, 'y': 0, 'width': 480, 'height': 640}, {'x': 1920, 'y': 0, 'width': 480, 'height': 640}, {'x': 2400, 'y': 0, 'width': 480, 'height': 640}, {'x': 2880, 'y': 0, 'width': 480, 'height': 640}, {'x': 3360, 'y': 0, 'width': 480, 'height': 640}, {'x': 3840, 'y': 0, 'width': 480, 'height': 640}, {'x': 4320, 'y': 0, 'width': 480, 'height': 640}, {'x': 4800, 'y': 0, 'width': 480, 'height': 640}, {'x': 5280, 'y': 0, 'width': 480, 'height': 640}, {'x': 5760, 'y': 0, 'width': 480, 'height': 640}, {'x': 6240, 'y': 0, 'width': 480, 'height': 640}, {'x': 6720, 'y': 0, 'width': 480, 'height': 640}, {'x': 7200, 'y': 0, 'width': 480, 'height': 640}, {'x': 7680, 'y': 0, 'width': 480, 'height': 640}, {'x': 0, 'y': 640, 'width': 480, 'height': 640}, {'x': 480, 'y': 640, 'width': 480, 'height': 640}, {'x': 960, 'y': 640, 'width': 480, 'height': 640}, {'x': 1440, 'y': 640, 'width': 480, 'height': 640}, {'x': 1920, 'y': 640, 'width': 480, 'height': 640}, {'x': 2400, 'y': 640, 'width': 480, 'height': 640}, {'x': 2880, 'y': 640, 'width': 480, 'height': 640}, {'x': 3360, 'y': 640, 'width': 480, 'height': 640}, {'x': 3840, 'y': 640, 'width': 480, 'height': 640}, {'x': 4320, 'y': 640, 'width': 480, 'height': 640}, {'x': 4800, 'y': 640, 'width': 480, 'height': 640}, {'x': 5280, 'y': 640, 'width': 480, 'height': 640}, {'x': 5760, 'y': 640, 'width': 480, 'height': 640}, {'x': 6240, 'y': 640, 'width': 480, 'height': 640}, {'x': 6720, 'y': 640, 'width': 480, 'height': 640}, {'x': 7200, 'y': 640, 'width': 480, 'height': 640}, {'x': 7680, 'y': 640, 'width': 480, 'height': 640} ], "left": [ {'x': 0, 'y': 0, 'width': 480, 'height': 640}, {'x': 480, 'y': 0, 'width': 480, 'height': 640}, {'x': 960, 'y': 0, 'width': 480, 'height': 640}, {'x': 1440, 'y': 0, 'width': 480, 'height': 640}, {'x': 1920, 'y': 0, 'width': 480, 'height': 640}, {'x': 2400, 'y': 0, 'width': 480, 'height': 640}, {'x': 2880, 'y': 0, 'width': 480, 'height': 640}, {'x': 3360, 'y': 0, 'width': 480, 'height': 640}, {'x': 3840, 'y': 0, 'width': 480, 'height': 640}, {'x': 4320, 'y': 0, 'width': 480, 'height': 640}, {'x': 4800, 'y': 0, 'width': 480, 'height': 640}, {'x': 5280, 'y': 0, 'width': 480, 'height': 640}, {'x': 5760, 'y': 0, 'width': 480, 'height': 640}, {'x': 6240, 'y': 0, 'width': 480, 'height': 640}, {'x': 6720, 'y': 0, 'width': 480, 'height': 640}, {'x': 7200, 'y': 0, 'width': 480, 'height': 640}, {'x': 7680, 'y': 0, 'width': 480, 'height': 640}, {'x': 0, 'y': 640, 'width': 480, 'height': 640}, {'x': 480, 'y': 640, 'width': 480, 'height': 640}, {'x': 960, 'y': 640, 'width': 480, 'height': 640}, {'x': 1440, 'y': 640, 'width': 480, 'height': 640}, {'x': 1920, 'y': 640, 'width': 480, 'height': 640}, {'x': 2400, 'y': 640, 'width': 480, 'height': 640}, {'x': 2880, 'y': 640, 'width': 480, 'height': 640}, {'x': 3360, 'y': 640, 'width': 480, 'height': 640}, {'x': 3840, 'y': 640, 'width': 480, 'height': 640}, {'x': 4320, 'y': 640, 'width': 480, 'height': 640}, {'x': 4800, 'y': 640, 'width': 480, 'height': 640}, {'x': 5280, 'y': 640, 'width': 480, 'height': 640}, {'x': 5760, 'y': 640, 'width': 480, 'height': 640}, {'x': 6240, 'y': 640, 'width': 480, 'height': 640}, {'x': 6720, 'y': 640, 'width': 480, 'height': 640}, {'x': 7200, 'y': 640, 'width': 480, 'height': 640}, {'x': 7680, 'y': 640, 'width': 480, 'height': 640}, ], "idle": [ {"x": 0, "y": 0, "width": 267, "height": 435}, {"x": 267, "y": 0, "width": 267, "height": 435}, {"x": 534, "y": 0, "width": 267, "height": 435}, {"x": 801, "y": 0, "width": 268, "height": 435}, {"x": 0, "y": 435, "width": 267, "height": 435}, {"x": 267, "y": 435, "width": 267, "height": 435}, {"x": 534, "y": 435, "width": 267, "height": 435}, {"x": 801, "y": 435, "width": 268, "height": 435}, {"x": 0, "y": 870, "width": 267, "height": 435}, {"x": 267, "y": 870, "width": 267, "height": 435}, {"x": 534, "y": 870, "width": 267, "height": 435}, {"x": 801, "y": 870, "width": 268, "height": 435}, {"x": 0, "y": 1305, "width": 267, "height": 437}, {"x": 267, "y": 1305, "width": 267, "height": 437}, {"x": 534, "y": 1305, "width": 267, "height": 437}, {"x": 801, "y": 1305, "width": 268, "height": 437} ] ] }
11-07
这个 JSON 文件 **存在严重的语法错误**,无法被标准的 JSON 解析器正确解析。下面我们来详细分析问题所在,并提供修正版本。 --- ## ❌ 问题分析 你给出的 JSON 结构如下: ```json { "move_frame": [ "up": [ ... ], "down": [ ... ], ... ] } ``` ### 主要错误点: #### 1. `"move_frame"` 是一个 **数组(`[...]`)**,但里面却用了对象的键值对格式 `"up": [...]` - 在 JSON 中: - `[ ... ]` 表示 **数组(array)** - `{ ... }` 表示 **对象(object)** 你在 `move_frame` 后面用了方括号 `[`,表示它是一个数组,但内容却是 `"key": value` 的形式 —— 这是对象的写法! ✅ 正确做法:如果想用键(如 `"up"`, `"down"`)来组织数据,应该使用 **对象 `{}`** 而不是数组 `[]`。 --- ## ✅ 正确的 JSON 格式应该是: ```json { "move_frame": { "up": [ {"x": 0, "y": 0, "width": 480, "height": 640}, {"x": 480, "y": 0, "width": 480, "height": 640}, ... ], "down": [ {"x": 0, "y": 0, "width": 480, "height": 640}, ... ], "right": [ ... ], "left": [ ... ], "idle": [ ... ] } } ``` > ✅ 将 `move_frame` 的 `[` 改为 `{`,并确保每个方向是一个字段名(字符串),其值为帧坐标数组。 --- ## 🔧 修复后的完整示例(节选) ```json { "move_frame": { "up": [ {"x": 0, "y": 0, "width": 480, "height": 640}, {"x": 480, "y": 0, "width": 480, "height": 640}, {"x": 960, "y": 0, "width": 480, "height": 640}, {"x": 1440, "y": 0, "width": 480, "height": 640}, {"x": 1920, "y": 0, "width": 480, "height": 640}, {"x": 2400, "y": 0, "width": 480, "height": 640}, {"x": 2880, "y": 0, "width": 480, "height": 640}, {"x": 3360, "y": 0, "width": 480, "height": 640}, {"x": 3840, "y": 0, "width": 480, "height": 640}, {"x": 4320, "y": 0, "width": 480, "height": 640}, {"x": 4800, "y": 0, "width": 480, "height": 640}, {"x": 5280, "y": 0, "width": 480, "height": 640}, {"x": 5760, "y": 0, "width": 480, "height": 640}, {"x": 6240, "y": 0, "width": 480, "height": 640}, {"x": 6720, "y": 0, "width": 480, "height": 640}, {"x": 7200, "y": 0, "width": 480, "height": 640}, {"x": 7680, "y": 0, "width": 480, "height": 640}, {"x": 0, "y": 640, "width": 480, "height": 640}, {"x": 480, "y": 640, "width": 480, "height": 640}, {"x": 960, "y": 640, "width": 480, "height": 640}, {"x": 1440, "y": 640, "width": 480, "height": 640}, {"x": 1920, "y": 640, "width": 480, "height": 640}, {"x": 2400, "y": 640, "width": 480, "height": 640}, {"x": 2880, "y": 640, "width": 480, "height": 640}, {"x": 3360, "y": 640, "width": 480, "height": 640}, {"x": 3840, "y": 640, "width": 480, "height": 640}, {"x": 4320, "y": 640, "width": 480, "height": 640}, {"x": 4800, "y": 640, "width": 480, "height": 640}, {"x": 5280, "y": 640, "width": 480, "height": 640}, {"x": 5760, "y": 640, "width": 480, "height": 640}, {"x": 6240, "y": 640, "width": 480, "height": 640}, {"x": 6720, "y": 640, "width": 480, "height": 640}, {"x": 7200, "y": 640, "width": 480, "height": 640}, {"x": 7680, "y": 640, "width": 480, "height": 640} ], "down": [ {"x": 0, "y": 0, "width": 480, "height": 640}, {"x": 480, "y": 0, "width": 480, "height": 640}, {"x": 960, "y": 0, "width": 480, "height": 640}, {"x": 1440, "y": 0, "width": 480, "height": 640}, {"x": 1920, "y": 0, "width": 480, "height": 640}, {"x": 2400, "y": 0, "width": 480, "height": 640}, {"x": 2880, "y": 0, "width": 480, "height": 640}, {"x": 3360, "y": 0, "width": 480, "height": 640}, {"x": 3840, "y": 0, "width": 480, "height": 640}, {"x": 4320, "y": 0, "width": 480, "height": 640}, {"x": 4800, "y": 0, "width": 480, "height": 640}, {"x": 5280, "y": 0, "width": 480, "height": 640}, {"x": 5760, "y": 0, "width": 480, "height": 640}, {"x": 0, "y": 640, "width": 480, "height": 640}, {"x": 480, "y": 640, "width": 480, "height": 640}, {"x": 960, "y": 640, "width": 480, "height": 640}, {"x": 1440, "y": 640, "width": 480, "height": 640}, {"x": 1920, "y": 640, "width": 480, "height": 640}, {"x": 2400, "y": 640, "width": 480, "height": 640}, {"x": 2880, "y": 640, "width": 480, "height": 640}, {"x": 3360, "y": 640, "width": 480, "height": 640}, {"x": 3840, "y": 640, "width": 480, "height": 640}, {"x": 4320, "y": 640, "width": 480, "height": 640}, {"x": 4800, "y": 640, "width": 480, "height": 640}, {"x": 5280, "y": 640, "width": 480, "height": 640}, {"x": 5760, "y": 640, "width": 480, "height": 640}, {"x": 0, "y": 1280, "width": 480, "height": 640}, {"x": 480, "y": 1280, "width": 480, "height": 640}, {"x": 960, "y": 1280, "width": 480, "height": 640}, {"x": 1440, "y": 1280, "width": 480, "height": 640}, {"x": 1920, "y": 1280, "width": 480, "height": 640}, {"x": 2400, "y": 1280, "width": 480, "height": 640}, {"x": 2880, "y": 1280, "width": 480, "height": 640}, {"x": 3360, "y": 1280, "width": 480, "height": 640}, {"x": 3840, "y": 1280, "width": 480, "height": 640}, {"x": 4320, "y": 1280, "width": 480, "height": 640}, {"x": 4800, "y": 1280, "width": 480, "height": 640}, {"x": 5280, "y": 1280, "width": 480, "height": 640}, {"x": 5760, "y": 1280, "width": 480, "height": 640} ], "right": [ {"x": 0, "y": 0, "width": 480, "height": 640}, {"x": 480, "y": 0, "width": 480, "height": 640}, {"x": 960, "y": 0, "width": 480, "height": 640}, {"x": 1440, "y": 0, "width": 480, "height": 640}, {"x": 1920, "y": 0, "width": 480, "height": 640}, {"x": 2400, "y": 0, "width": 480, "height": 640}, {"x": 2880, "y": 0, "width": 480, "height": 640}, {"x": 3360, "y": 0, "width": 480, "height": 640}, {"x": 3840, "y": 0, "width": 480, "height": 640}, {"x": 4320, "y": 0, "width": 480, "height": 640}, {"x": 4800, "y": 0, "width": 480, "height": 640}, {"x": 5280, "y": 0, "width": 480, "height": 640}, {"x": 5760, "y": 0, "width": 480, "height": 640}, {"x": 6240, "y": 0, "width": 480, "height": 640}, {"x": 6720, "y": 0, "width": 480, "height": 640}, {"x": 7200, "y": 0, "width": 480, "height": 640}, {"x": 7680, "y": 0, "width": 480, "height": 640}, {"x": 0, "y": 640, "width": 480, "height": 640}, {"x": 480, "y": 640, "width": 480, "height": 640}, {"x": 960, "y": 640, "width": 480, "height": 640}, {"x": 1440, "y": 640, "width": 480, "height": 640}, {"x": 1920, "y": 640, "width": 480, "height": 640}, {"x": 2400, "y": 640, "width": 480, "height": 640}, {"x": 2880, "y": 640, "width": 480, "height": 640}, {"x": 3360, "y": 640, "width": 480, "height": 640}, {"x": 3840, "y": 640, "width": 480, "height": 640}, {"x": 4320, "y": 640, "width": 480, "height": 640}, {"x": 4800, "y": 640, "width": 480, "height": 640}, {"x": 5280, "y": 640, "width": 480, "height": 640}, {"x": 5760, "y": 640, "width": 480, "height": 640}, {"x": 6240, "y": 640, "width": 480, "height": 640}, {"x": 6720, "y": 640, "width": 480, "height": 640}, {"x": 7200, "y": 640, "width": 480, "height": 640}, {"x": 7680, "y": 640, "width": 480, "height": 640} ], "left": [ {"x": 0, "y": 0, "width": 480, "height": 640}, {"x": 480, "y": 0, "width": 480, "height": 640}, {"x": 960, "y": 0, "width": 480, "height": 640}, {"x": 1440, "y": 0, "width": 480, "height": 640}, {"x": 1920, "y": 0, "width": 480, "height": 640}, {"x": 2400, "y": 0, "width": 480, "height": 640}, {"x": 2880, "y": 0, "width": 480, "height": 640}, {"x": 3360, "y": 0, "width": 480, "height": 640}, {"x": 3840, "y": 0, "width": 480, "height": 640}, {"x": 4320, "y": 0, "width": 480, "height": 640}, {"x": 4800, "y": 0, "width": 480, "height": 640}, {"x": 5280, "y": 0, "width": 480, "height": 640}, {"x": 5760, "y": 0, "width": 480, "height": 640}, {"x": 6240, "y": 0, "width": 480, "height": 640}, {"x": 6720, "y": 0, "width": 480, "height": 640}, {"x": 7200, "y": 0, "width": 480, "height": 640}, {"x": 7680, "y": 0, "width": 480, "height": 640}, {"x": 0, "y": 640, "width": 480, "height": 640}, {"x": 480, "y": 640, "width": 480, "height": 640}, {"x": 960, "y": 640, "width": 480, "height": 640}, {"x": 1440, "y": 640, "width": 480, "height": 640}, {"x": 1920, "y": 640, "width": 480, "height": 640}, {"x": 2400, "y": 640, "width": 480, "height": 640}, {"x": 2880, "y": 640, "width": 480, "height": 640}, {"x": 3360, "y": 640, "width": 480, "height": 640}, {"x": 3840, "y": 640, "width": 480, "height": 640}, {"x": 4320, "y": 640, "width": 480, "height": 640}, {"x": 4800, "y": 640, "width": 480, "height": 640}, {"x": 5280, "y": 640, "width": 480, "height": 640}, {"x": 5760, "y": 640, "width": 480, "height": 640}, {"x": 6240, "y": 640, "width": 480, "height": 640}, {"x": 6720, "y": 640, "width": 480, "height": 640}, {"x": 7200, "y": 640, "width": 480, "height": 640}, {"x": 7680, "y": 640, "width": 480, "height": 640} ], "idle": [ {"x": 0, "y": 0, "width": 267, "height": 435}, {"x": 267, "y": 0, "width": 267, "height": 435}, {"x": 534, "y": 0, "width": 267, "height": 435}, {"x": 801, "y": 0, "width": 268, "height": 435}, {"x": 0, "y": 435, "width": 267, "height": 435}, {"x": 267, "y": 435, "width": 267, "height": 435}, {"x": 534, "y": 435, "width": 267, "height": 435}, {"x": 801, "y": 435, "width": 268, "height": 435}, {"x": 0, "y": 870, "width": 267, "height": 435}, {"x": 267, "y": 870, "width": 267, "height": 435}, {"x": 534, "y": 870, "width": 267, "height": 435}, {"x": 801, "y": 870, "width": 268, "height": 435}, {"x": 0, "y": 1305, "width": 267, "height": 437}, {"x": 267, "y": 1305, "width": 267, "height": 437}, {"x": 534, "y": 1305, "width": 267, "height": 437}, {"x": 801, "y": 1305, "width": 268, "height": 437} ] } } ``` --- ## ✅ 如何验证 JSON 是否正确? 你可以将修改后的 JSON 粘贴到以下工具中验证: - [https://jsonlint.com](https://jsonlint.com) - VS Code 内置 JSON 验证 - Python 测试代码: ```python import json with open('animation.json', 'r', encoding='utf-8') as f: data = json.load(f) print("JSON is valid!") ``` --- ## 💡 建议用途说明 这类 JSON 通常用于: - 游戏角色画帧定义(Sprite Sheet) - 每个 `"direction"` 对应一组 `(x, y, width, height)` 的子图区域 - 可配合 Pygame、Unity、Cocos、LayaAir 等引擎使用 例如在 Pygame 中可以这样读取一帧: ```python rect = pygame.Rect(frame['x'], frame['y'], frame['width'], frame['height']) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值