Skip to content
This repository was archived by the owner on Sep 8, 2025. It is now read-only.

Commit c45f0ed

Browse files
authored
Merge pull request #318 from icerockdev/develop
Release 0.2.4
2 parents 4017a8f + 1af37df commit c45f0ed

19 files changed

+173
-107
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -209,15 +209,15 @@ allprojects {
209209
project build.gradle
210210
```groovy
211211
dependencies {
212-
commonMainApi("dev.icerock.moko:widgets:0.2.2")
213-
214-
commonMainApi("dev.icerock.moko:widgets-bottomsheet:0.2.2") // show bottom sheets
215-
commonMainApi("dev.icerock.moko:widgets-collection:0.2.2") // collection widget
216-
commonMainApi("dev.icerock.moko:widgets-datetime-picker:0.2.2") // show datepicker
217-
commonMainApi("dev.icerock.moko:widgets-image-network:0.2.2") // images with load from url
218-
commonMainApi("dev.icerock.moko:widgets-sms:0.2.2") // input with sms autofill
219-
commonMainApi("dev.icerock.moko:widgets-media:0.2.2") // moko-media integration
220-
commonMainApi("dev.icerock.moko:widgets-permissions:0.2.2") // moko-permissions integration
212+
commonMainApi("dev.icerock.moko:widgets:0.2.4")
213+
214+
commonMainApi("dev.icerock.moko:widgets-bottomsheet:0.2.4") // show bottom sheets
215+
commonMainApi("dev.icerock.moko:widgets-collection:0.2.4") // collection widget
216+
commonMainApi("dev.icerock.moko:widgets-datetime-picker:0.2.4") // show datepicker
217+
commonMainApi("dev.icerock.moko:widgets-image-network:0.2.4") // images with load from url
218+
commonMainApi("dev.icerock.moko:widgets-sms:0.2.4") // input with sms autofill
219+
commonMainApi("dev.icerock.moko:widgets-media:0.2.4") // moko-media integration
220+
commonMainApi("dev.icerock.moko:widgets-permissions:0.2.4") // moko-permissions integration
221221
}
222222
```
223223

@@ -230,7 +230,7 @@ buildscript {
230230
}
231231
232232
dependencies {
233-
classpath "dev.icerock.moko.widgets:gradle-plugin:0.2.2"
233+
classpath "dev.icerock.moko.widgets:gradle-plugin:0.2.4"
234234
}
235235
}
236236
```

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[versions]
22
kotlinVersion = "1.8.10"
33

4-
mokoWidgetsVersion = "0.2.3"
4+
mokoWidgetsVersion = "0.2.4"
55
mokoResourcesVersion = "0.21.2"
66
mokoMvvmVersion = "0.16.0"
77
mokoFieldsVersion = "0.12.0"

moko-widgets-bottomsheet.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |spec|
22
spec.name = 'moko-widgets-bottomsheet'
3-
spec.version = '0.2.2'
3+
spec.version = '0.2.4'
44
spec.homepage = 'https://github.com/icerockdev/moko-widgets'
55
spec.source = { :git => "https://github.com/icerockdev/moko-widgets.git", :tag => "release/#{spec.version}" }
66
spec.authors = 'IceRock Development'

moko-widgets-collection.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |spec|
22
spec.name = 'moko-widgets-collection'
3-
spec.version = '0.2.2'
3+
spec.version = '0.2.4'
44
spec.homepage = 'https://github.com/icerockdev/moko-widgets'
55
spec.source = { :git => "https://github.com/icerockdev/moko-widgets.git", :tag => "release/#{spec.version}" }
66
spec.authors = 'IceRock Development'

moko-widgets-datetime-picker.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |spec|
22
spec.name = 'moko-widgets-datetime-picker'
3-
spec.version = '0.2.2'
3+
spec.version = '0.2.4'
44
spec.homepage = 'https://github.com/icerockdev/moko-widgets'
55
spec.source = { :git => "https://github.com/icerockdev/moko-widgets.git", :tag => "release/#{spec.version}" }
66
spec.authors = 'IceRock Development'

moko-widgets-image-network.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |spec|
22
spec.name = 'moko-widgets-image-network'
3-
spec.version = '0.2.2'
3+
spec.version = '0.2.4'
44
spec.homepage = 'https://github.com/icerockdev/moko-widgets'
55
spec.source = { :git => "https://github.com/icerockdev/moko-widgets.git", :tag => "release/#{spec.version}" }
66
spec.authors = 'IceRock Development'

widgets/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ kotlin {
3838
this as org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
3939

4040
compilations.getByName("main") {
41-
val pluralizedString by cinterops.creating {
42-
defFile(project.file("src/iosMain/def/objcAddtition.def"))
41+
val objcAddition by cinterops.creating {
42+
defFile(project.file("src/iosMain/def/objcAddition.def"))
4343
}
4444
}
4545
}

widgets/src/iosMain/def/objcAddtition.def renamed to widgets/src/iosMain/def/objcAddition.def

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ void setAssociatedObject(id object, id value) {
2020
return objc_setAssociatedObject(object, &kAssociatedObjectKey, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
2121
}
2222

23+
void setAssociatedObjectWithKey(id object, NSValue* key, id value) {
24+
return objc_setAssociatedObject(object, key.pointerValue, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
25+
}
26+
2327
NSArray* cgColors(NSArray<UIColor*>* uiColors) {
2428
NSMutableArray* result = [NSMutableArray arrayWithCapacity: uiColors.count];
2529
for(int i = 0;i < uiColors.count;i++) {

widgets/src/iosMain/kotlin/dev/icerock/moko/widgets/core/factory/CardViewFactory.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ import dev.icerock.moko.widgets.core.style.view.MarginValues
1313
import dev.icerock.moko.widgets.core.style.view.PaddingValues
1414
import dev.icerock.moko.widgets.core.style.view.WidgetSize
1515
import dev.icerock.moko.widgets.core.utils.Edges
16-
import dev.icerock.moko.widgets.core.utils.UIViewWithIdentifier
1716
import dev.icerock.moko.widgets.core.utils.applyBackgroundIfNeeded
1817
import dev.icerock.moko.widgets.core.utils.applySizeToChild
19-
import dev.icerock.moko.widgets.core.utils.identifier
2018
import dev.icerock.moko.widgets.core.widget.CardWidget
19+
import kotlinx.cinterop.ExportObjCClass
20+
import kotlinx.cinterop.readValue
2121
import platform.CoreGraphics.CGFloat
22+
import platform.CoreGraphics.CGRectZero
2223
import platform.CoreGraphics.CGSizeMake
2324
import platform.UIKit.UIColor
2425
import platform.UIKit.UIView
@@ -31,6 +32,10 @@ import platform.UIKit.leadingAnchor
3132
import platform.UIKit.topAnchor
3233
import platform.UIKit.trailingAnchor
3334
import platform.UIKit.translatesAutoresizingMaskIntoConstraints
35+
36+
@ExportObjCClass
37+
private class CardViewContainer : UIView(frame = CGRectZero.readValue())
38+
3439
@Suppress("MagicNumber")
3540
actual class CardViewFactory actual constructor(
3641
private val padding: PaddingValues?,
@@ -46,15 +51,13 @@ actual class CardViewFactory actual constructor(
4651

4752
val viewController: UIViewController = viewFactoryContext
4853

49-
val root = UIViewWithIdentifier().apply {
54+
val root = CardViewContainer().apply {
5055
translatesAutoresizingMaskIntoConstraints = false
5156
applyBackgroundIfNeeded(background)
5257

5358
layer.cornerRadius = background?.cornerRadius?.toDouble() ?: 0.0
5459
clipsToBounds = true
5560
backgroundColor = UIColor.whiteColor
56-
57-
accessibilityIdentifier = widget.identifier()
5861
}
5962

6063
val childViewBundle = widget.child.buildView(viewController)

widgets/src/iosMain/kotlin/dev/icerock/moko/widgets/core/factory/ConstraintViewFactory.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import dev.icerock.moko.widgets.core.widget.Constraint
1919
import dev.icerock.moko.widgets.core.widget.ConstraintItem
2020
import dev.icerock.moko.widgets.core.widget.ConstraintWidget
2121
import dev.icerock.moko.widgets.core.widget.ConstraintsApi
22+
import kotlinx.cinterop.ExportObjCClass
2223
import kotlinx.cinterop.readValue
2324
import platform.CoreGraphics.CGFloat
2425
import platform.CoreGraphics.CGRectZero
@@ -37,6 +38,9 @@ import platform.UIKit.safeAreaLayoutGuide
3738
import platform.UIKit.topAnchor
3839
import platform.UIKit.translatesAutoresizingMaskIntoConstraints
3940

41+
@ExportObjCClass
42+
private class ConstraintViewContainer : UIView(frame = CGRectZero.readValue())
43+
4044
actual class ConstraintViewFactory actual constructor(
4145
private val background: Background<out Fill>?,
4246
private val padding: PaddingValues?,
@@ -48,7 +52,7 @@ actual class ConstraintViewFactory actual constructor(
4852
size: WS,
4953
viewFactoryContext: ViewFactoryContext,
5054
): ViewBundle<WS> {
51-
val container = UIView(frame = CGRectZero.readValue()).apply {
55+
val container = ConstraintViewContainer().apply {
5256
translatesAutoresizingMaskIntoConstraints = false
5357

5458
applyBackgroundIfNeeded(background)
@@ -205,9 +209,11 @@ class AutoLayoutConstraintsApi(
205209
override fun offset(points: Int) {
206210
it.constant = const + points
207211
if (applyExtraMargins != null) {
208-
applyAdditionalMargins(firstItem.widget,
212+
applyAdditionalMargins(
213+
firstItem.widget,
209214
points.toFloat(),
210-
applyExtraMargins)
215+
applyExtraMargins
216+
)
211217
}
212218
}
213219
}

0 commit comments

Comments
 (0)