Forms9Patch 0.9.12.2

Xamarin Forms is great for developing apps on Android and iOS but it is missing two important tools for developers: scalable images and PCL multi-screen image management.  Android developers use NinePatch bitmaps and the drawable directory naming convention for this purpose.  Likewise, iOS developers use ResizeableImageWithCapInsets and the @2x, @3x, @4x file naming convention for this purpose.

Forms 9 Patch enhances Xamarin Forms to enable multi-resolution / multi-screen image management to PCL apps for iOS and Android.

There is a newer version of this package available.
See the version list below for details.
Install-Package Forms9Patch -Version 0.9.12.2
dotnet add package Forms9Patch --version 0.9.12.2
<PackageReference Include="Forms9Patch" Version="0.9.12.2">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Forms9Patch --version 0.9.12.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

0.9.12.2: Fixed: (1) crash when instantiating buttons on iOS release builds; (2) iOS HtmlText <tt> tag combined with <b>, <u>, or <i> fails to render font correctly; (3) Image button touch intermittantly fails.
Enhanced: Width and Height values of LabelFit are now supported for labels with unimposed Height.
0.9.12.1: Fixed: (1) failure to get bold and/or italic version of some iOS system fonts; (2) Multi-line labels not appearing so on iOS; (3) 9Patch images market to edge failing to render on iOS;
0.9.12.0: New: Width and Lines Autofit for Labels.  TrailingImage property for ImageButton, MaterialButton and MaterialSegmentedController. Forms9Patch.FontExtensions.LoadedFontFamilies() lists all currently loaded fonts.
Fixed: iOS HtmlMarkup underlines don't match font color, Default Android image button label missing for some states.  Unable to bind to Segment.  Able to unselect Segment when in Radio mode.
0.9.11.2: Fixed: in iOS, Images will have height or width of 1 (instead defaulting to source image height or width) when HeightRequest or WidthRequest is not set.
0.9.11.1: Fixed: Issue where Forms9Patch.iOS.Settings.LicenseKey throws System.NullRefernceException.
0.9.11.0: Added HTML markup to Label, MaterialButton, Segment, and ImageButtonState elements.
0.9.10.7: Built for Xamain Forms 2.2
0.9.10.6: Fixed crash when no Target is given for BubblePopup.  Fixed failure to present popups when used w/ PushModalAsync().
0.9.10.4: Added Cancel method to Popups; Auto-cancel Popups when Android [back] button is pressed.
0.9.10.3: Improved reliabilty of rendering of 9patch backgrounds when used in ListView in Android.
0.9.10.2: Fixed AOT issue that caused BubblePopup not to work on iOS devices.
0.9.10.1: Fixed layout of NinePatch backgrounds when used in a ListView on Android.
0.9.10.0: Added ModalPopup and BubblePopup elements.  See demo app for example.
0.9.9.3: 25x Improved tap response on all buttons; Fixed ImageButton.Background rendering issue.
0.9.9.2: 3x Improved iOS image loading time.  Known issue: ImageButton Fails to present anything but DefaultState.BackgroundImage - will be fixed very soon.
0.9.9.1: Fixed issue with comping for iOS devices.
0.9.9.0: Added:
(1) PressingState to ImageButton to enable customization of the button for when it is in the pressed state.
(2) LongPressing and LongPressed events have been added to the ImageButton, MaterialButton, and Segment element.
(3) SegmentLongPressing and SegmentLongPressed events have been added to the MaterialSegmentedControl element.
(4) Renamed ImageButton's Clicked event to Tapped.
0.9.8.2: Fixed not all XAML attributes working for ImageButtonState.
0.9.8.1: Fixed:  XAML Segments Attribute for MaterialSegmentButton; Added FontColor and FontAttributes properties to Segment
0.9.8.0+ Added MaterialSegmentControl, Added Orientation property to MaterialButton
0.9.7.1 Fixed: MaterialButton render when image but no text present.
0.9.7.0 Added ImageButton and MaterialButton elements, Added HasShadow property to Android and iOS AbsoluteLayout, Frame, Grid, RelativeLayout, and StackLayout layouts.
0.9.6.0 Fixed intermittant iOS UIImage.ImageWithData double free, Added RelativeLayout, Grid, and AbsoluteLayout Elements
0.9.5.2 Fixed ContentView background scalable image rendered as non-scalable image if CapsInset has a one or two -1 values
0.9.5.1 Fixed scaling of ContentView BackgroundImage
0.9.5 1) Added Fill (AspectFill, AspectFit, Fill and Tile) property to Image; 2) Added ContentView and Frame elements with BackgroundView and (for Frame) OutlineWidth and OutlineRadius properties
0.9.4 Bug fix Correct resizing when iOS screen orientation changes
0.9.3 fix race condition during debug where iOS Renderer releases Element before releasing renderer.
0.9.2 Bug fix for not properly scaling when parent space is smaller than base image but larger than base image less complaint portion.
0.9.1 beta release
0.9.1 fix: scaling of scalable images larger than parent space

Version History

Version Downloads Last updated
1.7.0 1,315 4/22/2019
1.6.7.2 288 4/12/2019
1.6.7.1 100 4/11/2019
1.6.7 76 4/11/2019
1.6.6.2 175 4/7/2019
1.6.6.1 343 3/22/2019
1.6.6 659 3/2/2019
1.6.5.1 366 2/6/2019
1.6.5.1-rc2 80 2/1/2019
1.6.5.1-rc1 73 1/30/2019
1.6.5 294 1/28/2019
1.6.4 6,802 12/5/2018
1.6.3 3,504 11/25/2018
1.6.2.1 1,184 11/16/2018
1.6.2 301 11/15/2018
1.6.1 318 11/2/2018
1.6.0.1 142 10/30/2018
1.6.0-rc5 87 10/30/2018
1.6.0-rc4 86 10/30/2018
1.6.0-rc3 95 10/29/2018
1.6.0-rc2 128 10/27/2018
1.6.0-rc1 86 10/27/2018
1.5.0.9 2,885 10/23/2018
1.5.0.9-beta1 119 10/22/2018
1.5.0.8 200 10/22/2018
1.5.0.7-rc1 139 10/20/2018
1.5.0.6 247 10/12/2018
1.5.0.5 147 10/12/2018
1.5.0-rc1 137 10/9/2018
1.4.0.3 683 9/7/2018
1.4.0.2 125 9/7/2018
1.4.0.1 127 9/7/2018
1.4.0 199 9/5/2018
1.3.3 1,442 6/28/2018
1.3.2 2,308 6/19/2018
1.3.1 501 5/15/2018
1.3.0 268 5/11/2018
1.2.0.3 303 4/19/2018
1.2.0 241 4/17/2018
1.1.1 552 2/19/2018
1.1.0 642 1/6/2018
1.0.1.3 264 1/5/2018
1.0.1.2 463 1/4/2018
1.0.1.1 235 1/2/2018
1.0.0 256 12/28/2017
0.10.3.5 8,580 10/26/2017
0.10.3.4 1,581 10/7/2017
0.10.3.3 3,932 8/14/2017
0.10.3.2 410 8/2/2017
0.10.3.1 441 7/10/2017
0.10.3 340 6/27/2017
0.10.2.16 347 6/21/2017
0.10.2.13 455 5/30/2017
0.10.2.12 286 5/23/2017
0.10.2.11 410 5/10/2017
0.10.2.10 324 5/3/2017
0.10.2.9 261 5/3/2017
0.10.2.8 253 5/3/2017
0.10.2.7 278 5/1/2017
0.10.2.6 541 4/16/2017
0.10.2.5 244 4/16/2017
0.10.2.4 314 4/10/2017
0.10.2.3 356 3/28/2017
0.10.2.2 992 3/2/2017
0.10.2.1 874 2/22/2017
0.10.1 449 2/16/2017
0.10.0.1 298 2/13/2017
0.10.0 282 2/11/2017
0.9.13.5 2,506 10/13/2016
0.9.13.4 355 9/26/2016
0.9.13.3 326 9/21/2016
0.9.13.2 289 9/15/2016
0.9.13.1 321 9/1/2016
0.9.13 367 8/22/2016
0.9.12.5 340 8/17/2016
0.9.12.4 439 8/6/2016
0.9.12.3 400 7/19/2016
0.9.12.2 440 7/16/2016
0.9.12.1 437 7/13/2016
0.9.12 417 7/11/2016
0.9.11.2 388 6/27/2016
0.9.11.1 509 5/10/2016
0.9.11 380 5/5/2016
0.9.10.7 286 4/29/2016
0.9.10.6 306 4/12/2016
0.9.10.5 315 4/5/2016
0.9.10.4 278 3/31/2016
0.9.10.3 295 3/23/2016
0.9.10.2 277 3/21/2016
0.9.10.1 271 3/21/2016
0.9.10 382 3/11/2016
0.9.9.3 449 3/1/2016
0.9.9.2 285 3/1/2016
0.9.9.1 282 2/28/2016
0.9.9 284 2/25/2016
0.9.8.2 283 2/19/2016
0.9.8.1 291 2/5/2016
0.9.8 277 2/4/2016
0.9.7.1 288 1/29/2016
0.9.7 271 1/28/2016
0.9.6 291 1/24/2016
0.9.5.2 275 1/21/2016
0.9.5.1 274 1/20/2016
0.9.5 272 1/20/2016
0.9.4.1 325 1/14/2016
0.9.3 277 1/13/2016
0.9.2.3 283 1/9/2016
0.9.1 298 1/4/2016
Show less